如何在bash脚本中使用gdb使用命令行参数运行程序?
在gdb上运行程序时,通常在run
命令中给出程序的参数。 有没有办法使用gdb来运行程序,并且在shell脚本中提供参数?
我在相关问题中看到了一个答案,提到我们可以在脚本开始执行后将gdb附加到程序中。 但之后我将不得不“等待”节目。
我很好奇是否有其他方法可以做到这一点。
你可以用--args参数运行gdb,
gdb --args executablename arg1 arg2 arg3
如果你想让它自动运行,将一些命令放在一个文件中(例如'run'),并将其作为参数:-x / tmp / cmds。 您也可以选择以批模式运行。
gdb -batch -x /tmp/cmds --args executablename arg1 arg2 arg3
gdb -ex=r --args myprogram arg1 arg2
-ex=r
是-ex=run
简称, -ex=run
告诉gdb立即运行你的程序,而不是等你提示时输入“run”。 然后--args
说,接下来的所有内容都是命令和参数,就像通常在命令行提示符下键入它们一样。
另一种做法是,我个人发现稍微更方便和直观(不必记住--args参数),就是正常编译,并直接从gdb中使用r arg1 arg2 arg3
,如下所示:
gcc -g *.c *.h
gdb ./a.out
(gdb) r arg1 arh2 arg3
链接地址: http://www.djcxy.com/p/86035.html
上一篇: How do I run a program with commandline args using gdb within a bash script?