分享

使用eclipse+pydev远程调试OpenStack

hyj 发表于 2014-7-18 14:44:06 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 1 26760
问题导读:
1.远程调试需要添加哪些代码?
2.eclipse端需要做哪些配置?







1, 对于要远程调试的WSGI web应用中,添加如下代码,其中172.16.1.122是指远程安装eclipse机器的ip地址。
import pydevd
pydevd.settrace('172.16.1.122', 1234, stdoutToServer=False, stderrToServer=False)
若用了monkey_patch的话,记得将thread设置成Flase, eventlet.monkey_patch(os=False, thread=False)

举例, 假如我们要调试nova-compute,可照下列方式启动服务,它将自动做如上设置
nova-compute --remote_debug-host 172.16.1.122 --remote_debug-port 1234

2, eclipse端,首先设置环境变量
import sys
sys.path.append('/bak/java/eclipse/plugins/org.python.pydev_3.1.0.201312121632/pysrc/')
或者:
export PYTHONPATH=/bak/java/eclipse/plugins/org.python.pydev_3.1.0.201312121632/pysrc/:$PYTHONPATH
或者在eclipse工程点右键的属性的PyDev-PYTHONPATH里添加一个External Libraries,方法多得很,都行。

3,eclipse端,其次要保证eclipse端也有同样的代码,如果在不同目录,可以使用修改/bak/java/eclipse/plugins/org.python.pydev_3.1.0.201312121632/pysrc/pydevd_file_utils.py文件:
PATHS_FROM_ECLIPSE_TO_PYTHON = [(r'/bak/openstack', r'/server_side/openstack')]

4, 将远端nova-compute服务启动后(pydevd.settrace之后),在本地的eclipse中进入"Debug"视图后会看到一个“PyDev: start the pydev server"按钮然后点击它,这时候eclipse就和远端连接上了。
   剩下该设置断点设置断点,平时该怎么做就怎么做了。




















作者:张华
出处:http://blog.csdn.net/quqi99


已有(1)人评论

跳转到指定楼层
jackjay 发表于 2016-12-15 12:38:44
已经修改了pydevd_file_utils.py的PATHS_FROM_ECLIPSE_TO_PYTHON ,运行后报错:pydev debugger: warning: trying to add breakpoint to file that does not exist,
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条