GDB调试实战给程序传递启动参数

Posted 奇妙之二进制

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GDB调试实战给程序传递启动参数相关的知识,希望对你有一定的参考价值。

有时候,我们的调试程序需要从命令行接受输入参数,我们来看下gdb如何给调试程序传递启动参数。

可以在gdb启动时,通过选项指定被调试程序的参数,例如:

$ gdb -args ./a.out a b c

也可以在gdb中,通过命令来设置,例如:

(gdb) set args a b c
(gdb) show args
Argument list to give program being debugged when it is started is "a b c".

也可以在运行程序时,直接指定:

(gdb) r a b
Starting program: /home/xmj/tmp/a.out a b
(gdb) show args
Argument list to give program being debugged when it is started is "a b".
(gdb) r
Starting program: /home/xmj/tmp/a.out a b 

可以看出,参数已经被保存了,下次运行时直接运行run命令,即可。

有意的是,如果我接下来,想让参数为空,该怎么办?是的,直接:

(gdb) set args

以上是关于GDB调试实战给程序传递启动参数的主要内容,如果未能解决你的问题,请参考以下文章

从实践到原理掌握 GDB

从实践到原理掌握 GDB

从实践到原理掌握 GDB

从实践到原理掌握 GDB

使用gdb调试

GDB调试指南-启动调试