如何使用 GDB 在 C 级调试 python 脚本。给我一个简单的例子。我的主要目标是获取从我的 python 脚本调用的 libc 函数的跟踪。
问问题
1786 次
2 回答
4
看到事情是二进制(.so)文件,你肯定不能将断点应用于特定的行,但你肯定可以将断点应用于函数。说使用
(gdb) b func_name
您可以轻松地将断点应用于函数,从而在找到断点时获取回溯。首先运行你的 python sc
启动 gdb:
gdb -ex r --args python demo.py
应用断点:
(gdb) b func_name
跑:
(gdb) run
这应该适用于您的情况。
于 2018-07-27T11:28:35.180 回答
1
您始终可以使用 gdb 使用 Python 并根据需要设置断点
gdb -ex r --args python script.py args
如果您想在运行 Python 脚本时查看 Python 中发生了什么,我建议使用混合模式
gdb -ex r --args python -m pdb script.py
这样,您可以进入 pdb,然后按下Ctrl-C
并最终进入 gdb。然后,bt
将在 Python 中为您提供堆栈跟踪。
于 2018-07-27T08:07:03.970 回答