调试器未从 Winpdb 分离

Debugger is not detaching from Winpdb

我正在使用 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 )并按预期分离。

通过查看日志我发现,如果我从终端 运行 调试通道被加密但是当来自 PythonQt 调试通道未加密时,不确定这与分离有任何关系

通过进一步查看 rpdb2.py 代码,我发现 Winpdb 挂在 request_go(self, fdetach = False)self.getSession().getProxy().request_go(fdetach) 行:在 rpdb2.py

端口 51000 仍处于建立模式

请多多指教。

最后我使用最新版本的 python QT

解决了这个问题