【发布时间】:2015-10-09 12:01:20
【问题描述】:
我正在使用PythonQT执行python脚本(因为我需要从python脚本中调用c++方法)
我的winpdb版本是1.4.6,机器是CetOS 6.5
现在我想在 python 脚本中启用调试
我已经在脚本中添加了rpdb2.start_embedded_debugger('test')并调用了PythonQt.EvalFile()函数,现在脚本正在等待调试器。
我已从终端打开 winpdb UI 并附加到调试器。我能够执行“下一步”、“步入”等操作,并且所有局部变量都正确可见 但是当我试图分离调试器时,它并没有分离。状态显示“DETACHING”,没有任何反应,我什至无法关闭 winpdb。退出的唯一方法是杀死 winpdb。
如果我从终端运行相同的脚本文件,它可以正常工作(python)并按预期分离。
通过查看日志我发现,如果我从终端运行,那么调试通道是加密的,但是当从 PythonQt 调试通道未加密时,不确定这与分离有什么关系
通过进一步查看 rpdb2.py 代码,我发现 Winpdb 挂在 self.getSession().getProxy().request_go(fdetach) 的 request_go(self, fdetach = False) 行上:在 rpdb2.py 中
51000端口仍处于已建立模式
请给我建议。
【问题讨论】: