openstack远程调试 - eclipse + pydev
2016-04-25 01:20
543 查看
转自
/article/1542257.html
http://pydev.org/updates
源调试代码中加入远程debug代码:
1、将安装有pydev插件的eclipse的文件夹搜索到pydevd.py文件,复制到目标主机的python路径下。
vim /usr/lib/python2.7/site-packages/pysrc.pth
测试import pydevd
注:由于上述步骤中,将多线程关闭了,所以之后如果涉及到多线程协作流程(例如一次性创建多个虚拟机),将可能出现错误。
在控制节点执行:nova list 则会自动远程debug到eclipse中:
配置windows下的python2.7:
下载2.7版本的windows版本安装:https://www.python.org/downloads/release/python-2710/
如果上述情况大家调试不通,建议先使用一个简单的test文件来测试好远程debug,再来调试nova的上述代码:
vim test_eclipse_pydevd.py
/article/1542257.html
http://pydev.org/updates
http://www.pydev.org/manual_adv_remote_debugger.html
源调试代码中加入远程debug代码:
1、将安装有pydev插件的eclipse的文件夹搜索到pydevd.py文件,复制到目标主机的python路径下。
eclipse/plugins/org.Python.pydev_x.x.x/pysrc/pydevd.py |
vim /usr/lib/python2.7/site-packages/pysrc.pth
测试import pydevd
vim /usr/lib/python2.7/site-packages/nova/compute/api.py |
此处发现eclipse并没有进入到get_all 断点调试的代码处,而是保存没有改pid进程,这是因为nova底层代码
使用的eventlet多线程(协程)导致,解决此问题参考如下:
grep -rn 'eventlet.monkey_patch' /usr/lib/python2.6/site-packages/nova
vim /usr/lib/python2.6/site-packages/nova/cmd/__init__.py |
将
|
在控制节点执行:nova list 则会自动远程debug到eclipse中:
配置windows下的python2.7:
下载2.7版本的windows版本安装:https://www.python.org/downloads/release/python-2710/
如果上述情况大家调试不通,建议先使用一个简单的test文件来测试好远程debug,再来调试nova的上述代码:
vim test_eclipse_pydevd.py
print "I'm test eclipse remote debug python start" import pydevd pydevd.settrace(host='192.168.1.18', port=5678, stdoutToServer=True, stderrToServer=True) a = 3 b = 4 c = a + b print "I'm test eclipse remote debug python end!!!" |
相关文章推荐
- 转:Java 自带的数据加密类MessageDigest(MD5或SHA加密)
- ajax后台处理响应(java)
- Java多线程简析——Synchronized(同步锁)、Lock以及线程池
- 20145309java第三次实验报告
- MyEclipse的优化,加快打开和编辑的速度
- spring的aop解读
- 338. LeetCode_DP_Counting Bits
- Java NIO工作原理
- java基础(24)--java.util.Properties类
- Java遍历集合方法分析(实现原理、算法性能、适用场合)
- struts2实战教程
- Spring Boot初探
- Java初始化顺序
- java 父类 new 子类
- Spring配置文件总结
- struts2中应用jason
- Struts2 + Json _ 配置,异常解决及深入了解Struts2返回JSON数据的原理及具体应用范例
- 看java源代码
- 三大框架struts+spring+ibatis
- eclipse不自动弹出提示(alt+/快捷键失效