¿Qué significa cuando da una traza inversa con la siguiente salida?¿Qué significa el mensaje de traza inversa de GDB "0x0000000000000000 in ??()"?
#0 0x00000008009c991c in pthread_testcancel() from /lib/libpthread.so.2
#1 0x00000008009b8120 in sigaction() from /lib/libpthread.so.2
#2 0x00000008009c211a in pthread_mutexattr_init() from /lib/libpthread.so.2
#3 0x0000000000000000 in ??()
El programa se ha bloqueado con una señal estándar 11, fallo de segmentación. Mi aplicación es un programa FastCGI C++ de subprocesos múltiples que se ejecuta en FreeBSD 6.3, utilizando pthread como biblioteca de subprocesos.
Se ha compilado con -g y todas las tablas de símbolos para mi fuente se cargan, según las fuentes de información.
Como es evidente, ninguno de mi código real aparece en la traza, sino que el error parece provenir de las bibliotecas pthread estándar. En particular, ¿qué es?() ???
EDIT: eventualmente rastreó el crash hasta un acceso de memoria estándar no válido en mi código principal. No explica por qué el seguimiento de la pila estaba dañado, pero esa es una pregunta para otro día :)