¿Cómo obtengo la traza inversa para todos los hilos en GDB?


151

¿Hay un comando equivalente en GDB al del "proceso 0 7" de WinDbg?

Quiero extraer todos los subprocesos en un archivo de volcado junto con sus trazas en GDB. "hilos de información" no genera los seguimientos de pila. Entonces, ¿hay un comando que lo haga?


13
El comando correspondiente para LLDB esbt all , en caso de que alguien lo encuentre a través de Google (que piensa GDB == LLDB).
kennytm

Con python funciona lo siguiente "(gdb) python para thread en gdb.selected_inferior (). Thread (): thread.switch (); print (thread.num); gdb.execute ('where')"
Talespin_Kit

Respuestas:


244

En general, la traza inversa se usa para obtener la pila del subproceso actual, pero si es necesario obtener la traza de la pila de todos los subprocesos, use el siguiente comando.

thread apply all bt

12
Para guardar la salida en un archivo:gdb <binary> <coredump> -ex "thread apply all bt" -ex "quit" > output.log
Doomsday

1
Puede acortar esto at a a bt
qbolec

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.