Openstack 远程调试 - pycharm
来源:互联网 发布:js数字转字符串 补0 编辑:程序博客网 时间:2024/05/29 05:06
转自
http://blog.csdn.net/tantexian/article/details/38295385
环境:windows7、pycharm3.4.1、centos6.5(部署openstack icehource版)
1、在windows机器安装pycharm
将windows pycharm安装目录下的pycharm-debug.egg拷贝到centos机器(如果centos的python为3版本以上,则拷贝pycharm-debug-py3k.egg):
在centos6.5安装debug egg:
easy_install pycharm-debug.egg
2、配置windows pycharm的远程调试配置(Run -> Edit configurations...):
注:其中Local host name为:windows本机当前ip地址。port为:当前pycharm用来监听远程debug连接的端口。(其中path mapping可以先不用设置)
3、pycharm启动远程debug监听远程调试:
点击右上角出现的刚刚配置的debug:
下面窗口将出现:
4、将Waiting for connection...上面的两句代码copy到对应断点调试代码中:
import pydevdpydevd.settrace('192.168.1.133', port=51234, stdoutToServer=True, stderrToServer=True)接下来以nova的get_all实例为例调试:vim /usr/lib/python2.6/site-packages/nova/compute/api.py添加上述内容后api代码如下:5、重启nova服务nova-api、nova-compute,执行:nova list命令,或者dashboard点击获取instance的页签:远程debug连接到pycharm,进入了调试模式。6、此处发现pycharm并没有进入到get_all 断点调试的代码处,而是进入了thread.py的线程文件,这是因为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
将替换为:import eventletfrom nova import debuggerif debugger.enabled():# turn off thread patching to enable the remote debuggereventlet.monkey_patch(os=False, thread=False)else:eventlet.monkey_patch(os=False)import eventlet
from nova import debugger
if debugger.enabled():
# turn off thread patching to enable the remote debugger
eventlet.monkey_patch(os=False, thread=False)
else:
eventlet.monkey_patch(os=False, thread=False)
注:由于上述步骤中,将多线程关闭了,所以之后如果涉及到多线程协作流程(例如一次性创建多个虚拟机),将可能出现错误。
安装之前步骤,重启服务nova-api、nova-compute,nova list 即可以看到正常的调试代码:补充:pycharm可以将本机代码和远程代码进行映射(Edit Path Mapping),就不用每次去远程下载远程:补充、如果还是不能正常调试,请将pycharm安装文件内容替换:将:替换为:SUPPORT_GEVENT = os.getenv('GEVENT_SUPPORT', 'False') == 'True'
SUPPORT_GEVENT = True
0 0
- Openstack 远程调试 - pycharm
- PyCharm远程调试openstack
- 使用pycharm远程调试openstack
- pycharm 远程调试openstack 代码
- Pycharm对openstack进行远程调试
- 利用pycharm远程调试openstack代码
- openstack windows下远程debug调试(pycharm)
- openstack windows下远程debug调试(pycharm)
- pycharm激活, pycharm远程调试
- pycharm进行远程调试
- pycharm 远程调试配置
- PyCharm远程调试设置
- pycharm远程调试
- pycharm 开启远程调试
- Pycharm远程调试
- pycharm远程python调试
- pycharm 远程调试
- Pycharm配置远程调试
- MySQL开发
- DML 事务 隔离级别 存储引擎对比
- 用户管理 查询优化 日志
- AngularJS 世界------AngularJS 指令手册
- apache commons fileupload 团队
- Openstack 远程调试 - pycharm
- LeetCode 251. Flatten 2D Vector
- php foreach
- openstack远程调试 - eclipse + pydev
- c++第四次作业—求1000以内的偶数之和
- HDU 5512 Pagodas 2015ACM/ICPC亚洲区沈阳站-重现赛(感谢东北大学)
- The operation couldn’t be completed. (LaunchServicesError error 0.)
- Feescale K64开发笔记1: 开发环境的建立
- 14串聚合物锂电池保护板和电路图(带均衡功能)