GDB attach Python 程序, 打印执行栈, 遇到问题

2016-05-16 14:39:02 +08:00
 kamushin
根据这篇文档 https://docs.python.org/devguide/gdb.html
在 ~/.gdbinit 中加入了 set auto-load safe-path /home/my/python-gdb.py
可是 GDB 给出了报错 "/root/.gdbinit:1: Error in sourced command file:
No symbol table is loaded. Use the "file" command."
V 站上 Python 程序员应该是比较多的, 大家有用 GDB 看 Python 调用栈的经验吗
4450 次点击
所在节点    Python
4 条回复
introom
2016-05-16 15:54:07 +08:00
这个和 python 没关系, gcc 编译的时候不要任何优化,用-O0 就可以了
kamushin
2016-05-16 18:08:25 +08:00
@introom 感觉是编译的 Python 版本是不带 debug symbol 的
congeec
2016-05-16 18:23:56 +08:00
你说的靠谱, debian 系的可以安装 python-dbg 。
在 OS X 我是自己编译一个带 debug symbol 的版本来调试 CPython 扩展的
daybyday
2016-05-16 22:22:15 +08:00
要不要试试 pyrasite ,可以 attach 到运行中的 Python 进程,并执行任意 Python 代码

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/278958

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX