tutorial test que online español depurador gdb

test - gdb ubuntu



¿Cómo puedo ejecutar comandos externos desde el símbolo del sistema de gdb? (4)

Estoy depurando un programa usando gdb. Cada vez que pierdo un punto de interrupción o decido agregar otro punto de vigilancia, tengo que terminar el proceso y volver a ejecutarlo. Para adjuntar el gdb existente a él, uso attach <pid> . Sin embargo, tengo que averiguar el pid del nuevo proceso.

La forma en que lo hago hoy es suspender gdb, obtener el pid con ps -C <program_name> y luego regresar a gdb para adjuntarlo.

¿Hay alguna manera de ejecutar un comando de Unix desde el símbolo del sistema de gdb sin salir al shell, de modo que pueda hacer algo como esto desde dentro de gdb?

attach `ps -C <program_name>`

Estoy trabajando en linux.


(gdb) shell de ayuda
Ejecuta el resto de la línea como un comando de shell. Sin argumentos, ejecute un shell inferior.

Después de terminar, puedes usar ''exit'' para volver a gdb.


Puede usar shell seguido del comando que desea ejecutar, por ejemplo:

gdb$ shell g++ tsort.c -o tsort

Esta es solo una breve forma de la respuesta anterior.


Solo para ampliar la respuesta aceptada, ¡el atajo para shell es ! .

(gdb) ayuda!

Ejecuta el resto de la línea como un comando de shell. Sin argumentos, ejecute un shell inferior.


gdb$ shell shell$ execute_your_commands shell$ exit gdb$ you_have_returned_back_to_gdb_prompt