我正在使用 PythonQT 来执行 python 脚本(因为我需要从 python 脚本调用 c++ 方法)
我的winpdb版本是1.4.6,机器是CetOS 6.5
现在我想在 python 脚本中启用调试
我在脚本中添加了 rpdb2.start_embedded_debugger('test')
并调用了 PythonQt.EvalFile()
函数,现在脚本正在等待调试器。
我已经从终端打开 winpdb UI 并附加到调试器。我能够执行“Next”、“Step into”等操作,并且所有局部变量都正确可见 但是当我试图分离调试器时,它并没有分离。状态显示“DETACHING”但没有任何反应,我什至无法关闭 winpdb。退出的唯一方法是杀死 winpdb。
如果我从终端运行相同的脚本文件,它会正常工作 (python) 并按预期分离。
通过查看日志,我发现,如果我从终端运行,则调试 channel 是加密的,但是当从 PythonQt 调试 channel 未加密时,不确定这与分离有任何关系
通过进一步查看 rpdb2.py 代码,我发现 Winpdb 卡在 self.getSession().getProxy().request_go(fdetach)
of request_go(self, fdetach = False)
: 在 rpdb2.py 中
51000端口仍处于建立模式
请就此提出建议。
最佳答案
最后我用最新版本的python QT解决了这个问题
关于python - 调试器未从 Winpdb 分离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33037770/