Answers:
您可以使用--args参数运行gdb,
gdb --args executablename arg1 arg2 arg3
如果您希望它自动运行,请将一些命令放在文件中(例如“ run”),并将其作为参数提供:-x / tmp / cmds。您可以选择以-batch模式运行。
gdb -batch -x /tmp/cmds --args executablename arg1 arg2 arg3
man gdb
不包含--args
,这就是为什么我找不到它。gdb --help
做。
info gdb
下次使用:-)。
info
。如果Google或Stack Overflow停止运行XD
index-search
)后迷上了信息。试试:info gdb
,然后是“ i”,然后是“ --args”。它会带您正确使用它。
我个人觉得更方便和直观(无需记住--args
参数)的另一种方法是正常编译,并r arg1 arg2 arg3
直接从内部使用gdb
,如下所示:
$ gcc -g *.c *.h
$ gdb ./a.out
(gdb) r arg1 arg2 arg3
您可以使用上下文创建文件:
run arg1 arg2 arg3 etc
program input
然后像这样调用gdb
gdb prog < file
gdb --init-command <somefile>
在somefile中有一个要运行的gdb命令列表,我用它//GDB
在代码中添加注释,然后`
echo "file ./a.out" > run
grep -nrIH "//GDB"|
sed "s/\(^[^:]\+:[^:]\+\):.*$/\1/g" |
awk '{print "b" " " $1}'|
grep -v $(echo $0|sed "s/.*\///g") >> run
gdb --init-command ./run -ex=r
作为脚本,它会放置命令以加载调试符号,然后生成中断命令列表以为每个//GDB
注释放置一个断点,并开始运行