2009-10-20 17 views
6

J'essaie d'analyser un mini-vidage sur incident et j'ai besoin de fichiers de symboles pour obtenir plus de détails sur le crash. Im actuellement voir juste: "! 034eff74 0086eee9 00000000 0089d58d 034eff94 app_integrator ZNK14ACE_Data_Block4baseEv + 0x6"Extrait les informations de débogage d'une DLL construite msys/mingw gcc en utilisant rebase.exe?

Est-il possible d'extraire des informations de débogage à partir d'une dll construite gcc msys/MinGW dans un format lisible par windbg? Sinon, existe-t-il un autre moyen d'obtenir des informations plus détaillées, comme le chargement d'un fichier MAP d'une manière ou d'une autre?

La DLL et tous ses fichiers .o sont construits avec le drapeau -g.

Répondre

5

Windbg ne peut pas gérer les informations de débogage qui seront générées par -g sur une installation MINGW. Cependant, il peut prétendument faire face aux symboles COFF. Si les fichiers source de votre DLL sont assez petits, vous pouvez probablement obtenir des informations de débogage COFF pour construire (-gcoff plutôt que -g). Donc, Windbg peut (prétendument) gérer les symboles COFF et GCC peut les générer. Donc ça devrait être facile à partir de là, n'est-ce pas? J'essayais de faire exactement cela avec un exécutable Win32 généré par Visual Studio 2008 qui chargeait une DLL compilée par gcc. Malheureusement pour moi, compiler avec -gcoff n'a pas fonctionné. Le gcc de Mingw ne générera pas de symboles COFF pour les projets de plus de 64k lignes de code. La DLL que j'utilisais était nettement plus grande que les lignes de code 64K. Malheureusement, je dois admettre que j'ai abandonné et que je me suis rabattu sur le fidèle OutputDebugString. Sinon, je serais en mesure de donner des instructions plus complètes. Je n'avais pas envie d'étudier l'option de faire des symboles COFF pour les fichiers sources volumineux, ou l'option alternative d'écrire une extension de débogage pour analyser les données DWARF ou STABS dans les tables de symboles internes de windbg.

J'ai corrigé le problème, soit dit en passant!

D'autres suggestions peuvent être trouvées in this forum post at windbg.info.

+0

Parfait, je vais essayer. – Kristofer

+0

J'aimerais savoir si cela a fonctionné, ou quoi d'autre vous avez réussi à faire à la place sinon! – Pete

+0

Sur une note connexe, le profileur Very Sleepy fonctionne très bien avec les symboles de débogage créés avec -gstabs –