2011-06-16 10 views

Respuesta

6

lo general, con el siguiente comando cuando la aplicación ha terminado de ejecutarse:

(gdb) thread apply all bt 

Por supuesto, si usted quiere saber la línea exacta debe compilar su aplicación con símbolos de depuración, es decir -g

+3

Eso no imprime nada para mí en GDB 7.7.1. –

9

Usted podría probar el comando GDB break exit para establecer un punto de interrupción en la llamada a la biblioteca exit (2). Si eso no le proporciona lo que necesita, tal vez break _exit. Es posible que deba iniciar su programa con 'sta' antes de obtener el último punto de interrupción. En cualquier caso, debería poder usar el comando where para obtener un seguimiento de pila que muestre dónde estaba cuando el programa decidió salir.

+0

Suele funcionar, pero puede fallar: http://stackoverflow.com/questions/1780765/setting-a-gdb-exit-breakpoint-not-working –

3

Establezca un punto de interrupción en _exit y luego examine la pila.

Cuestiones relacionadas