我想使用gdb从正在运行的python进程中获取stacktrace。python运行在ubuntu16.4上pyenv管理的virtualenv中。在
我试过了:
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>
和相同的错误。在
还有别的办法吗?或者更简单的方法?在
虚拟环境中的python版本可能与python dbg包不兼容,后者与位于/usr/bin/的python兼容。通过将位于/usr/bin的python复制到virtual env并重新运行,我已经解决了这个问题。即使两个python是同一个版本,构建日期似乎对gdb调试有很大的影响。在
相关问题 更多 >
编程相关推荐