使用GDB调试带参数程序
在Linux的命令行环境下,使用GDB调试程序较为方便,调试简单程序可以直接使用 gdb my-program-to-debug的方式进行,调试带参数的程序,可以使用以下方式:
gdb my-program-to-debug
然后会进入GDB的交互模式,在该模式下,输入所需参数:
r args1 args2 args3 ....
回车之后即可执行。
对于Linux中包含多个版本的Python,而使用的Python不是系统默认版本的Python时,会出现以下错误:
gdb: symbol lookup error: gdb: undefined symbol: PyUnicodeUCS4_FromEncodedObject
这个时候,只要在启动gdb时在路径中增加系统指定的Python路径即可,如下:
LD_PRELOAD=/usr/lib/libpython2.7.so gdb -ex 'set environ LD_PRELOAD' --args my-program-to-debug