【OpenStack】使用Komodo远程调试python(OpenStack)
本blog欢迎转发,但请保留原作者信息:
新浪微博:@孔令贤HW
Blog地址:http://blog.csdn.net/lynn_kong
内容系本人学习、研究和总结,如有雷同,实属荣幸!
1 环境配置
windows 主机:32位操作系统win7,IP地址182.168.14.128
Linux主机:32位操作系统Ubuntu 12.04.1 LTS,IP地址182.168.61.24
2 本地配置
在本地机器安装Komodo IDE7.1(当然python是必须安装的),打开komodo,依次打开”Edit”-->”Preferences”,找到”Languages”下的Python,本机安装的python会自动出现在右侧的解释器配置中,以下是我的配置:
选中”Debug”菜单下的” Listen for Debugger Connections”
同时,记录”Debug”菜单下的”Listener Status”下的Host Port,这是本地主机的监听端口。
3 远程配置
配置步骤:
1) 安装python
2) 下载PythonRemoteDebuggingClient(http://code.activestate.com/komodo/remotedebugging/),我下载的是Komodo-PythonRemoteDebugging-7.1.3-74661-linux-x86.tar.gz
3) 解压到当前目录
root@controller:/usr/kong# tar -zxvf Komodo-PythonRemoteDebugging-7.1.3-74661-linux-x86.tar.gz
解压后的目录结构如下:
4) 将dbgp目录(注意是整个目录,而不是目录下的文件)加入python路径或直接拷贝到python路径,我用的第二种方法,拷贝到/usr/lib/python2.7/dist-packages目录下。python路径的查看方法:
5) 验证是否正确。
在shell中输入:python -c "import dbgp.client; print 'ok'"
输出OK表示配置成功。
4 远程调试
4.1 方法一
1) 在远程主机上,将bin目录下pydbgp文件拷贝到一个方便的目录,该文件是启动远程调试的主脚本。
2) 开启调试。执行命令:
python -S path/to/pydbgp.py -d localhost:port your-script.py
path/to/pydbgp.py:pydbgp文件在远程主机的位置
localhost:本地主机的IP
port:本地主机的监听端口(即:”Debug”菜单下的”Listener Status”下的Host Port)
your-script.py:在远程主机上的被调试的python脚本
3) 执行后,本地主机的Komodo会捕获到调试信号。
4.2 方法二
对于大型、多进程工程,我觉得还是该方法比较灵活。以调试Nova功能nova list命令为例。
1) 修改nova/compute/api.py文件,首先引入依赖模块:
from dbgp.client import brk
因为我们要调试的是nova list命令,所以在该文件API类的get_all方法中加入如下红框内一句,注意填写正确的IP和端口:
2) 重新编译api.py文件,将api.py和api.pyc替换对应位置的文件(替换方法参考我之前的博客)
3) 重启nova服务。
4) 确保本地主机上的Komodo处于运行,在远程主机执行nova list,此时,本地主机的Komodo会捕获到调试信号,然后就可以进行单步跟踪了,效果如下图:
本博客欢迎转发,但请保留原作者(@孔令贤HW)信息!内容系本人学习、研究和总结,如有雷同,实属荣幸!
【OpenStack】使用Komodo远程调试python(OpenStack)相关推荐
- vscode 调试python 无法连接远程服务器_vscode 远程调试python的方法
此文介绍了vscode 远程调试python的方法,分享给大伙,具有如下: 实验环境 远程服务器:京东云,1核2G,centos7.3 64bit 本地环境配置 安装vscode,实验用的版本是1.1 ...
- vscode python 远程调试_vscode 远程调试python的方法
vscode 远程调试python的方法 发布时间:2019-10-14 15:32 来源:互联网 当前栏目:web技术类 本文介绍了vscode 远程调试python的方法,分享给大家,具有如下: ...
- 最简单方法远程调试Python多进程子程序
Python 2.6新增的multiprocessing,即多进程,给子进程代码调试有点困难,比如python自带的pdb如果直接在子进程代码里面启动会抛出一堆异常,原因是子进程的stdin/out/ ...
- python pdb调试多进程_PDB远程调试Python多进程子程序
此前文章<最简单方法远程调试Python多进程子程序>利用了Unix管道文件以及简单的bash来配合调试多进程子程序,但也因此没法跨平台支持windows下的子进程调试,这次简单使用soc ...
- python PyCharm远程调试Python( PyCharm配置远程python解释器)
文章目录 一.PyCharm远程调试Python 远程部署配置 远程解释器配置 工作中问题总结 pycharm远程服务器运行Can't run remote python interpreter:Ca ...
- wxpython使用多进程_最简单方法远程调试Python多进程子程序
其实只需稍作改动即可用pdb继续调试子进程的代码,思路来自这个博客:子进程的stdin/out/err关闭了,那可以自己重新按/dev/stdout的名称打开来用.当然这指*nix下,win下要麻烦一 ...
- 成功解决 vscode远程调试python
welcome to my blog 微软新出的插件, 非常方便远程调试, 不需要改动代码,简单9步, 配置远程调试环境 第一步 按ctrl+shift+x, 输入remote development ...
- 如何为 Python 添加远程调试能力而不修改系统代码
最近写了一些关于 Python 远程调试的扯淡向博文,第一篇是「远程调试你的 Python 代码」,第二篇是「使用 VS Code 远程调试 Python 程序」.前些日子开了一个叫做「第八个手艺人」 ...
- vscode安装python扩展并开展远程调试的过程
因为关于vscode安装远程扩展的过程比较繁琐而且根据不同的远程主机有细微差别,所以本文不讲SSH连接远程主机的过程,并且默认你的远程主机已经配置了python解释器(标志就是vscode右下角显示了 ...
最新文章
- 在Linux上安装QT4
- struts2的核心和工作原理
- UIAppearanceContainer 利器
- svn 没有绿色小勾
- 电商ERP vs.传统ERP,有何不一样?
- Spring Schedule配置及初始化
- java 之 桥接模式(大话设计模式)
- Linux改变文件和目录权限-chmodchown
- 又是一种用于JavaScript的前端国际化方案
- python打开文件报错无效序列_解决Python 写文件报错TypeError的问题
- Cheese 游戏编程:第 4 部分 (转自MSDN)
- 标准C++的类型转换符:static_cast、dynamic_cast、reinterpret_cast和const_cast
- 分享个Duilib中基于wke的浏览器控件
- 谷歌地图地名显示繁体字_谷歌地图怎么把字去掉
- 卷积神经网络python实例,python卷积神经网络图像
- 2021年中国石油市场回顾及2022年行业发展趋势分析预测:2021年石油需求震荡修复,石油对外依存度首次下降,预计2022年石油需求7.35亿吨[图]
- 盘点14个因安全事故引咎辞职的高管领导
- 麦田守望者--走出软件作坊:三五个人十来条枪 如何成为开发正规军(四十三)
- 明日之后最新服务器开服时间,明日之后新区开服时间 新区开放表[图]
- Trust App(高通)
热门文章
- 邮储银行web前端技术二面面经
- 现代前端技术解析:Web前端技术基础
- 滑坡泥石流的防御措施_泥石流防治措施
- java中aop和aoc的区别_法国波尔多产区的葡萄酒AOC/AOP等级
- 深入理解Java垃圾回收机制(转载https://www.cnblogs.com/andy-zcx/p/5522836.html)
- 5.2 综合案例-继电器控制
- Docker容器的安装并运行一个网页游戏
- Windows XP怎么定时关机和开机
- 计算机科学修改后再审,避免论文盲审因格式问题低分甚至引发修改后重审的后果,.doc...
- 一位电子工程师从学校到工作岗位的项目经历,或许你可以借鉴