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.
Parfait, je vais essayer. – Kristofer
J'aimerais savoir si cela a fonctionné, ou quoi d'autre vous avez réussi à faire à la place sinon! – Pete
Sur une note connexe, le profileur Very Sleepy fonctionne très bien avec les symboles de débogage créés avec -gstabs –