我使用PythonQT来执行python脚本(因为我需要从python脚本调用c++方法)
我的winpdb版本是1.4.6,机器是CetOS 6.5
现在,我想在python脚本中启用调试。
我在脚本中添加了rpdb2.start_embedded_debugger('test')并调用了PythonQt.EvalFile()函数,现在脚本正在等待调试器。
我已经从终端打开了winpdb,并附加到调试器上。我能够执行“下一步”、“逐步进入”等操作,并且所有局部变量都是正确可见的,但是当我试图分离调试器时,它并不是分离。状态显示“分离”和什么都没有发生,我甚至不能关闭winpdb。唯一的出路就是杀死winpdb。
如果我从终端运行相同的脚本文件,它将正常工作(python )并按预期分离。
通过查看日志,我发现,如果我从终端运行,那么调试通道是加密的,但是当从PythonQt调试通道没有加密时,不确定这与分离有什么关系。
通过进一步研究rpdb2.py代码,我发现Winpdb挂在self.getSession().getProxy().request_go(fdetach) of request_go(self, fdetach = False):in rpdb2.py行上。
端口51000仍处于已建立的状态。
请告诉我这件事。
发布于 2015-11-06 08:48:31
最后,我通过使用python的最新版本解决了这个问题。
https://stackoverflow.com/questions/33037770
复制相似问题