在运行程序时将命令传递给gdb

时间:2009-07-01 17:05:20

标签: gdb command arguments

我正在使用gdb来调试程序,我希望得到命令的输出

$(perl -e 'print "A"x20') 

作为我的论点。我怎样才能做到这一点?这样,论证就会非常灵活。

3 个答案:

答案 0 :(得分:5)

您可以使用run命令并在之后将任何参数传递给参数。

如果您想要上述内容,请尝试:

run `$(perl -e 'print "A"x20')`

作为命令,一旦启动gdb。

答案 1 :(得分:4)

上述情况略有偏差,也不适用于我。如果使用set args命令,则以下内容将起作用(至少在我的系统上):

set args "`perl -e 'print "A"x20;'`"

像往常一样,只需在开始调试后输入'run',就应该传递正确的参数。

答案 2 :(得分:1)

看起来你没有正确地使用gdb启动你的程序。假设你的程序是“a.out”,在bash:

$gdb a.out
(gdb)run `$(perl -e 'print "A"x20')`

希望这会对你有所帮助。