gdb – 如何自动运行可执行文件?
我想让gdb立即运行可执行文件,就像我input“run”(动机:我不喜欢键入“run”)。 
 一种方法是将命令传输到gdb如下所示: 
 $ echo run | gdb myApp 
 但是这种方法的问题是你失去了与gdb交互性,例如。 如果断点触发或myApp崩溃, gdb退出。 这个方法在这里讨论。 
 看看--help中的选项,我没有办法做到这一点,但也许我错过了一些东西。 
 gdb -ex run ./a.out 
 如果你需要传递参数给a.out : 
 gdb -ex run --args ./a.out arg1 arg2 ... 
编辑: 猎户座说,这不适用于Mac OSX。
  -ex标志自GDB-6.4 (2005年发布)以来一直可用,但是OSX使用Apple的GDB分支,而最新的Leopard XCode包含GDB 6.3.50-20050815 (Apple version gdb-967) ,所以你不在的运气。 
 构build当前的GDB-7.0.1版本是一个可能的解决scheme。 只要确保阅读这个 。 
 (echo r ; cat) | gdb a.out 
猫允许你在gdbrest之后继续打字。
我会使用一个gdb脚本:
 gdb -x your-script 
你的脚本包含如下内容:
 file a.out b main r 
之后你有正常的交互式gdb提示符
编辑 :
这里是一个真正懒惰的优化:
-  将脚本保存为working directory.gdbinit。
- 
之后,你只需要运行gdb gdb
…和gdb自动加载并执行.gdbinit的内容。
开始是另一个不错的select:
 gdb -ex start ./a.out 
 这就像跑步,但也设置在main临时断点,并在那里停止。 
一旦它被击中,这个临时断点被停用。
 gdb -x <(echo run) --args $program $args