使用Komodo远程调试Python(OpenStack)
来源:互联网 发布:智能降温的软件 编辑:程序博客网 时间:2024/06/05 08:29
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)
- 使用Komodo远程调试Python(OpenStack)
- komodo远程调试openstack
- openstack windows下远程debug调试(komodo)
- komodo远程调试perl
- 使用pycharm远程调试openstack
- 使用eclipse+pydev远程调试OpenStack
- Openstack 远程调试 - pycharm
- PyCharm远程调试openstack
- Komodo调试perl
- 使用eclipse+pydev远程调试OpenStack(by quqi99)
- openstack远程调试 - eclipse + pydev
- pycharm 远程调试openstack 代码
- 使用PvCharm进行Python远程调试
- 使用PyCharm进行Python远程调试
- OpenStack远程调试 - eclipse + pydev (二)
- 配置 OpenStack Eclipse开发环境 - 远程调试
- Pycharm对openstack进行远程调试
- SQL Server 返回插入记录的自增编号(包括多表插入等)
- jsdoc-toolkit文档工具使用说明
- android SDK问题:<dl-ssl.google.com> != <www.google.com>
- 谈谈JDK1.5新特性之枚举数据类型
- sscanf 与scanf
- 使用Komodo远程调试Python(OpenStack)
- android properties分析(3) Bionic code properties设置和获取的接口分析
- sql语句查看表结构
- LINQ to SQL学习笔记(三)——聚集函数(一)
- Shell: sh,bash,csh,tcsh等shell的区别
- BITMAPFILEHEADER、BITMAPINFOHEADER及BMP结构详解
- android properties分析(4) property_service 分析
- 修旱冰场
- 图像处理-线性滤波-1 基础(相关算子、卷积算子、边缘效应)