如何使用 GDB 在 C 级别调试 python 脚本。给我一个简单的例子
How to debug python script in C level using GDB. Give me a simple example for this
如何使用 GDB 在 C 级别调试 python 脚本。给我一个简单的例子 this.My 主要目标是获取从我的 python 脚本调用的 libc 函数的跟踪。
您可以随时Python使用gdb并根据需要设置断点
gdb -ex r --args python script.py args
如果你想看看 Python while 运行 Python 脚本中发生了什么我建议使用混合模式
gdb -ex r --args python -m pdb script.py
这样,您可以在 pdb 中中断,然后按 Ctrl-C
并在 gdb 中结束。然后,bt
将在 Python.
内为您提供堆栈跟踪
看到的是二进制(.so)文件,你肯定不能将断点应用于特定行,但你肯定可以将断点应用于函数。
说使用
(gdb) b func_name
您可以轻松地将断点应用于函数,从而在找到断点时获取回溯。
首先 运行 你的 python sc
启动 gdb:
gdb -ex r --args python demo.py
应用断点:
(gdb) b func_name
运行:
(gdb) run
这应该适用于您的情况。
如何使用 GDB 在 C 级别调试 python 脚本。给我一个简单的例子 this.My 主要目标是获取从我的 python 脚本调用的 libc 函数的跟踪。
您可以随时Python使用gdb并根据需要设置断点
gdb -ex r --args python script.py args
如果你想看看 Python while 运行 Python 脚本中发生了什么我建议使用混合模式
gdb -ex r --args python -m pdb script.py
这样,您可以在 pdb 中中断,然后按 Ctrl-C
并在 gdb 中结束。然后,bt
将在 Python.
看到的是二进制(.so)文件,你肯定不能将断点应用于特定行,但你肯定可以将断点应用于函数。 说使用
(gdb) b func_name
您可以轻松地将断点应用于函数,从而在找到断点时获取回溯。 首先 运行 你的 python sc
启动 gdb:
gdb -ex r --args python demo.py
应用断点:
(gdb) b func_name
运行:
(gdb) run
这应该适用于您的情况。