Tengo un proceso que es llamado por otro proceso que es llamado por otro proceso y así sucesivamente hasta el final. Es un proceso secundario en una larga cadena de herramientas.¿Hay alguna manera de decirle a gdb que espere a que comience un proceso y se conecte a él?
Este proceso se cuelga.
Me gustaría ver este proceso en gdb para entender por qué está fallando. Sin embargo, la única forma en que se me ocurre es:
- iniciar el proceso principal original en la línea de comandos.
- encuesta
ps -C <name process I want to catch>
y obtenga el PID. - ejecute gdb, adjunto al PID de ese proceso.
Esto es engorroso pero generalmente hace el trabajo. El problema es que la falla actual se ejecuta muy rápido, y para cuando capture el PID y ejecute gdb, ya pasó el punto de falla.
me gustaría lanzar el BGF y en lugar de:
(gdb) attach <pid>
me gustaría hacer:
(gdb) attach <process name when it launches>
¿Hay alguna manera de hacer esto?
estoy usando GDB 7.1 en Linux
Pero esto puede ser bastante tedioso si el árbol de proceso es profundo (como es en mi caso) –
@NathanFellman - Una solución para la tediosidad podría ser escribir algún código de extensión de Python para gdb que automatice este proceso. Podría despertarse después de cada horquilla atrapada, determinar si esa horquilla es relevante, luego continuar si no es así. – Omnifarious