Sin tener que buscar en la fuente de GDB, ¿dónde puedo encontrar documentación sobre el formato utilizado para crear archivos de núcleo?Formato de archivo de núcleo ELF
La especificación ELF deja el formato de archivo central abierto, así que supongo que esto debería ser parte de las especificaciones de GDB. Tristemente, no encontré ninguna ayuda en este sentido de la documentación gdb de GNU.
Esto es lo que trato de hacer: Asignar direcciones virtuales a nombres de funciones en ejecutables/bibliotecas que comprenden el proceso en ejecución. Para hacer eso, primero me gustaría averiguar, desde el archivo central, el mapa desde el espacio de direcciones virtuales hasta el nombre del archivo/bibliotecas ejecutables, y luego profundizar en el archivo relevante para obtener la información simbólica.
Ahora 'readelf -a core' me dice que casi todos los segmentos del archivo central son del tipo 'cargar' - supongo que estos son los segmentos .text y .bss/.data de todos archivos participantes, más un segmento de pila. A excepción de estos segmentos de carga, hay un segmento de nota, pero eso no parece contener el mapa. Entonces, ¿cómo es la información sobre qué archivo corresponde a un segmento, almacenado en el archivo central? ¿Están esos segmentos de 'carga' formateados de una manera particular para incluir la información del archivo?
Nos puedes contar un poco de lo que entendemos por 'formato de archivo core'? ¿Se refiere al formato de código de objeto que produce gcc o al formato del ejecutable final, en cuyo caso sería ELF o algo más? – greatwolf
Una respuesta más reciente para esta pregunta es [aquí] (http://stackoverflow.com/a/38427225/5058676). – evaitl