使用GDB调试程序,如何正确的向程序传递参数.

我有一个程序a.out,需要提供命令行参数ci,运行时是./a.out ci. 这是后第二个参数是ci(argv[1]取的,argv[0]是执行程序的名称),但是我使用gdb调试的时候,第二个参数变成了执行程序的名称,就是整个参数列表向右移动了一个参数位置,当我执行
gdb a.out ci
时,参数传递不正确,请教,使用GDB调试需要参数的程序时,应该怎么做才是正确的?
谢谢!!
---------------------------------------------------------------

很简单。
在gdb中用set args,全过程如下
gdb a.out
(gdb) set args ci
(gdb) run
你就可以实现你想要得功能了。

---------------------------------------------------------------

可以在run命令中指定,例如
(gdb) run arg1 arg2...
---------------------------------------------------------------

对的,一般在gdb下执行程序时,把run当作程序就可以了。

run ci

Published At
Categories with 服务器类
Tagged with
comments powered by Disqus