无法找到python字节码解释器的gdb框架

时间:2017-12-15 17:59:29

标签: python linux gdb pyenv

我使用gdb从正在运行的python进程中获取堆栈跟踪。 python运行在由pyenv管理的virtualenv上,在Ubuntu 16.4上。

我试过这个: sudo gdb ~/.pyenv/versions/bla/bin/python -p <PID>

然后我没有可用的扩展名,所以我做了

symbol-file /usr/bin/python3.5-dbg

然后当我运行py-list时,我收到以下错误:

无法找到python字节码解释器的gdb框架。

还尝试过: sudo gdb /usr/bin/python3.5-dbg -p <PID>和同样的错误。

还有其他方式吗?还是一种更简单的方法?

1 个答案:

答案 0 :(得分:0)

您的虚拟环境中的python版本可能与python dbg软件包不兼容,后者与/ usr / bin /中的python兼容。我已经通过将/ usr / bin中的python复制到虚拟环境并重新运行来解决了这个问题。即使两个python是同一版本,构建日期对于gdb调试似乎也有很大的不同。