2009-10-20 22 views
6

Estoy tratando de analizar un mini basurero y necesito archivos de símbolos para obtener más detalles sobre el bloqueo. Im actualmente sólo ver: "! 034eff74 0086eee9 00000000 0089d58d 034eff94 app_integrator ZNK14ACE_Data_Block4baseEv + 0x6"¿Extrae la información de depuración de un msys/mingw gcc built dll usando rebase.exe?

¿Es posible extraer información de depuración de un MSYS/MinGW gcc DLL construido en un formato legible windbg? Si no, ¿hay alguna otra forma de obtener información más detallada, como cargar un archivo MAP de alguna manera?

El dll y todos sus archivos .o se construyen con el distintivo -g.

Respuesta

5

Windbg no puede hacer frente a la información de depuración que generará -g en una instalación de mingw. Sin embargo, supuestamente puede hacer frente a los símbolos COFF.

Si los archivos fuente de su DLL son lo suficientemente pequeños, probablemente pueda obtener información de depuración COFF para compilar (-gcoff en lugar de -g).

Por lo tanto, Windbg puede (supuestamente) manejar símbolos COFF y GCC puede generarlos. Entonces, debería ser fácil a partir de ahí, ¿verdad? Intentaba hacer exactamente esto con un ejecutable Win32 generado por Visual Studio 2008 que estaba cargando un archivo DLL compilado gcc. Desafortunadamente para mí, compilar con -gcoff no funcionó. El gcc de Mingw no generará símbolos COFF para proyectos con más de 64k líneas de código. La DLL que estaba usando era distintivamente más grande que las líneas de código de 64K. Tristemente, tengo que admitir que me rendí y recurrí a la confiable OutputDebugString. De lo contrario, podría dar más instrucciones completas. No me apetecía investigar la opción de hacer símbolos gcc do COFF para archivos fuente más grandes, o la opción alternativa de escribir una extensión de depuración para analizar los datos DWARF o STABS en las tablas internas de símbolos de windbg.

¡He solucionado el problema, por cierto!

Otras sugerencias se pueden encontrar en in this forum post at windbg.info.

+0

Perfecto, lo intentaré. – Kristofer

+0

Me encantaría saber si funcionó, o qué más se las arregló para hacer en su lugar si no fuera así. – Pete

+0

En una nota relacionada, el generador de perfiles Very Sleepy funciona muy bien con los símbolos de depuración creados con -gstabs –

Cuestiones relacionadas