问题导读:
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
|