当前位置: 技术问答>linux和unix
使用GDB调试程序,如何正确的向程序传递参数.
来源: 互联网 发布时间:2015-01-26
本文导语: 我有一个程序a.out,需要提供命令行参数ci,运行时是./a.out ci. 这是后第二个参数是ci(argv[1]取的,argv[0]是执行程序的名称),但是我使用gdb调试的时候,第二个参数变成了执行程序的名称,就是整个参数列表向右移动了一个参...
我有一个程序a.out,需要提供命令行参数ci,运行时是./a.out ci. 这是后第二个参数是ci(argv[1]取的,argv[0]是执行程序的名称),但是我使用gdb调试的时候,第二个参数变成了执行程序的名称,就是整个参数列表向右移动了一个参数位置,当我执行
gdb a.out ci
时,参数传递不正确,请教,使用GDB调试需要参数的程序时,应该怎么做才是正确的?
谢谢!!
gdb a.out ci
时,参数传递不正确,请教,使用GDB调试需要参数的程序时,应该怎么做才是正确的?
谢谢!!
|
很简单。
在gdb中用set args,全过程如下
gdb a.out
(gdb) set args ci
(gdb) run
你就可以实现你想要得功能了。
在gdb中用set args,全过程如下
gdb a.out
(gdb) set args ci
(gdb) run
你就可以实现你想要得功能了。
|
可以在run命令中指定,例如
(gdb) run arg1 arg2...
(gdb) run arg1 arg2...
|
对的,一般在gdb下执行程序时,把run当作程序就可以了。
run ci
run ci