Guardar el archivo central en gdb


90

¿Es posible guardar / volcar el archivo central usando gdb? A veces quiero guardar un archivo para analizarlo más tarde.

Respuestas:


140

Ejecute el comando 'generate-core-file' en gdb.

(gdb) help generate-core-file
Save a core file with the current state of the debugged process.
Argument is optional filename.  Default filename is 'core.<process_id>'.
(gdb) break main
Breakpoint 1 at 0x400e0b: file utils/udec.c, line 36.
(gdb) r
Starting program: /home/nos/build/utils/udec

Breakpoint 1, main (argc=1, argv=0x7fffffffe9a8) at utils/udec.c:36
36              int fileargc = 1;
(gdb) generate-core-file
Saved corefile core.7336

4
Se guardará en el directorio de trabajo actual de GDB, que se puede ver a través del pwdcomando. Si necesita cambiarlo, puede hacerlo con cd, como en un shell.
Jonathon Reinhart

3
@Jonathon_Reinhart pasa la ruta del archivo central como generate-core-fileprimer argumento si desea guardarlo en un lugar determinado
SergA

19

También se puede utilizar gcore <pid>para producir núcleos.


esto debería estar en la parte de comentario
V-rund Puro-hit

8
Por favor, eche un vistazo a esta página stackoverflow.com/help/privileges/comment : ¿Cuándo no debería comentar? .... "Responder una pregunta o proporcionar una solución alternativa a una respuesta existente;"
Meinew

1
Parece que gcoresolo es compatible con las versiones más recientes de gdb. Los viejos requieren generate-core-file.
scai

Este parece ser un nombre corto para generate-core-fileambos haciendo lo mismo.
Ciro Santilli 郝海东 冠状 病 六四 事件 法轮功
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.