¿Cómo ejecuto un programa con argumentos de línea de comandos usando GDB dentro de un script Bash?

Resuelto drox asked hace 13 años • 9 respuestas

Cuando se ejecuta un programa en GDB, generalmente, los argumentos para el programa se dan en larun comando. ¿Hay alguna manera de ejecutar el programa usando GDB y también de dar argumentos dentro de un script de shell?

Vi una respuesta en una pregunta relacionada, que menciona que podemos adjuntar GDB al programa después de que el script comience a ejecutarse. Pero luego tendré que 'esperar' el programa.

Hay otra manera de hacer esto?

drox avatar May 25 '11 14:05 drox
Aceptado

Puedes ejecutar gdb con --argsel parámetro:

gdb --args executablename arg1 arg2 arg3

Si hace esto con frecuencia (por ejemplo, cuando ejecuta GDB desde un script), es posible que desee considerar los siguientes argumentos para automatizar aún más las cosas. Primero, puede colocar sus comandos GDB (como 'ejecutar') en un archivo de texto y proporcionar el nombre del archivo al -xargumento. En segundo lugar, puede hacer que GDB salga después de ejecutar sus comandos proporcionando el --batchargumento. Un ejemplo completo:

gdb -x commands.txt --batch --args executablename arg1 arg2 arg3
Hugo Ideler avatar May 25 '2011 08:05 Hugo Ideler
gdb -ex=r --args myprogram arg1 arg2

-ex=res la abreviatura de -ex=runy le dice a gdb que ejecute su programa inmediatamente, en lugar de esperar a que escriba "ejecutar" cuando se le solicite. Luego --argsdice que todo lo que sigue son el comando y los argumentos, tal como los escribiría normalmente en la línea de comandos.

Hugo avatar Sep 13 '2013 00:09 Hugo