我正在使用 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)
in rpdb2.py
端口 51000 仍处于已建立模式
请就此给我建议。