¿Cómo obtener el seguimiento de la pila de llamadas gdb?

Aug 19 2020

Tengo un volcado del núcleo y un archivo donde se almacena la información de depuración, ¿puedo usar gdb sin usar un archivo ejecutable para obtener una pila de llamadas con el nombre de funciones y líneas?

Respuestas

1 EmployedRussian Aug 20 2020 at 10:04

¿Puedo usar gdb sin usar un archivo ejecutable para obtener una pila de llamadas con el nombre de funciones y líneas?

Al menos en Linux/x86_64, la respuesta es no: la información guardada después objcopy --only-keep-debugno es suficiente; también necesita el archivo ejecutable.

Esto sucede (al menos en parte) porque el debug_fileno tiene la .eh_framesección, que es necesaria para relajarse en x86_64.

Si está depurando los volcados del núcleo usted mismo, no hay razón para crearlos debug_file; simplemente conserve el ejecutable original con la información de depuración completa para la depuración (todavía puede enviar un archivo despojado más pequeño a las máquinas de ejecución).