如何在gdb中将命令的输出作为参数传递?

时间:2013-09-19 23:36:08

标签: debugging gdb

我有一个接受参数的C程序。我想通过gdb调试时传递参数,但我想通过python命令指定参数。所以,

(gdb) run >>python return "a"*20 #arg1 >>python return 1+2 #arg2

我该怎么做?我想要这样做的原因是因为我想将字节码地址作为参数传递给程序,但是如果我将它作为一个sting传递它只是将所有内容转换为ASCII。即如果我尝试:

(gdb) run \xf7\xff\xba\xb5

然后我上面给出的地址只是转换成ASCII字符串而不是用作内存地址。我想如果我的第一个查询得到解答,我的第二个查询也可能会得到解答。

感谢。

1 个答案:

答案 0 :(得分:6)

我找到了解决方案。

(gdb) run "`python -c 'print "\xff\xff\xff\xff"'`"