环境远程机器centos7安装openstack ip 192.168.153.211
本地调试机器ubuntu1404 ip 192.168.153.10
分为以下步骤
1、配置PyCharm
将调试机上pycharm安装目录下的pycharm-debug.egg拷贝到centos机器(如果centos的python为3版本以上,则拷贝pycharm-debug-py3k.egg)
在centos机器上安装debug egg:
easy_install pycharm-debug.egg
2、调试机上PyCharm配置一个远程调试
Run -> Edit configurations
参考
http://www.voidcn.com/blog/xiangpingli/article/p-4691506.html
3、配置远程机器代码与调试机PyCharm的项目代码同步
4、修改代码,运行调试
(在这里,本地机和远程机代码是一样的,通过3配置的,修改后,自己同步下)
在代码(远程机上的代码)调试处加入
import pydevd
pydevd.settrace(‘192.168.153.10’, port=51234, stdoutToServer=True, stderrToServer=True)
启动服务或操作使代码能执行。
如果执行到了(本地机代码)代码处,会在debuger处停住。接下来,按F7,F8,切换断点去跟踪调试吧。
注:
如果使用了eventlet线程
调整下eventlet的monkey patch。
比如openstack neutron,
将\neutron\neutron\common\eventlet_utils.py中
eventlet.monkey_patch()改成
eventlet.monkey_patch(all=False, socket=True, time=True, thread=False)。
参考:
http://dasheyuan.com/post/openstack-dev-environment/
http://www.itdadao.com/articles/c15a13692p0.html