comenzar GDB usando un pid
Pregunta
En general i ver pid
del proceso que se ejecuta en segundo plano y empezar dbx en ese proceso mediante el dbx -a <pid>
comando
Del mismo modo ¿Cómo podría hacerlo usando GDB?
Solución
Hay dos maneras.
Desde la línea de comandos, incluye el pid como argumento después de que el nombre del ejecutable:
gdb /path/to/prog PID
Desde el interior de GDB, puede utilizar el comando Adjuntar:
gdb /path/to/prog
gdb> attach PID
Mientras que el especificando en la línea de comandos es más concisa, hay un ligero riesgo de que si usted tiene un archivo central que tiene un nombre que es el mismo que el pid (es decir, para pid 2345, el archivo central tendría que ser llamado "2345"), entonces gDB se abrirá el archivo central. Es cierto que la probabilidad de que esto ocurra es minúsculo.
Otros consejos
Además de la anterior se puede utilizar directamente
gdb -p <pid>
Desde la página del BGF:
Puede, en cambio, especificar un ID de proceso como un segundo argumento, si desea depurar un proceso en ejecución:
gdb program 1234