Me gustaría haber gdbejecutado inmediatamente el ejecutable, como si hubiera escrito "ejecutar" (motivación: no me gusta escribir "ejecutar").
Una forma es canalizar el comando de gdbesta manera:
$ echo run | gdb myApp
Pero el problema con este enfoque es que pierde interactividad con gdb, por ejemplo. si un punto de interrupción se activa o myAppfalla, se gdbcierra. Este método se analiza aquí .
Mirando las opciones en --help, no veo una manera de hacer esto, pero tal vez me estoy perdiendo algo.

./a.out a bgdb -xen sistemas Linux. OS X usa LLVM y clang, así que compruebe las capacidades de depuración delldb.Usaría un guión gdb:
donde su-script contiene algo como:
luego tienes el indicador gdb interactivo normal
EDITAR :
aquí hay una optimización para los verdaderamente vagos:
.gdbinitenworking directory.Luego, simplemente ejecute gdb como
gdb... y gdb carga y ejecuta automáticamente el contenido de .gdbinit.
fuente
fgdespués de larlínea, que actúa con cordurastartcomando proporciona un atajo parab+r: stackoverflow.com/a/2119606/895245El gato te permite seguir escribiendo después de que gdb se rompa.
fuente
Make breakpoint pending on future shared library load? (y or [n])asumirán automáticamente la respuesta "No".startmandoEste comando es otra buena opción:
Es como correr, pero también establece un punto de interrupción temporal
mainy se detiene allí.Este punto de interrupción temporal se desactiva una vez que se alcanza.
startiTambién hay un relacionado
startique inicia el programa y se detiene en la primera instrucción en su lugar, vea también: Parada en la primera instrucción de código de máquina en GDBGenial cuando estás haciendo cosas de bajo nivel.
fuente
gdb -x <(echo run) --args $program $argsfuente