¿Cómo ejecuto un programa con argumentos de línea de comandos usando GDB dentro de un script Bash?
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?
Puedes ejecutar gdb con --args
el 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 -x
argumento. En segundo lugar, puede hacer que GDB salga después de ejecutar sus comandos proporcionando el --batch
argumento. Un ejemplo completo:
gdb -x commands.txt --batch --args executablename arg1 arg2 arg3
gdb -ex=r --args myprogram arg1 arg2
-ex=r
es la abreviatura de -ex=run
y le dice a gdb que ejecute su programa inmediatamente, en lugar de esperar a que escriba "ejecutar" cuando se le solicite. Luego --args
dice que todo lo que sigue son el comando y los argumentos, tal como los escribiría normalmente en la línea de comandos.