我目前正在玩这个C程序(是的,我知道它的风险)。
int main(int argc, char **argv)
{
char buffer[64];
gets(buffer);
}
当我把它放到gdb中时,我想运行它然后传递一个python命令。例如
gdb -q test
Reading symbols from test...(no debugging symbols found)...done.
(gdb) r
Starting program: /tmp/test
python -c 'print "A" * 100'
[Inferior 1 (process 14912) exited normally]
(gdb) r
Starting program: /tmp/test
`python -c 'print "A" * 100'`
[Inferior 1 (process 14917) exited normally]
(gdb)
运行此命令后,是否可以将python命令传递给程序?或者最好是从gdb中执行此操作并将其输入管道?
干杯
答案 0 :(得分:0)
运行此命令后,实际上是否可以将python命令传递给程序?
是的,但你做错了。你的命令是做什么的:
/tmp/test `python -c 'print "A" * 100'`
相当于:
/tmp/test AAAAA...A
你想要什么:
(gdb) run <(python -c 'print "A" * 100')
相当于:
echo "AAAAA...A" | /tmp/test