2009-08-20 7 views
3

J'ai un projet composé de quelques DLL qui ont été compilés avec MinGW avec des informations de débogage, et un autre projet avec cible EXE qui utilise ces DLL (compilé avec MinGW aussi). Le problème est que j'ai besoin de mettre des points d'arrêt sur les fonctions à l'intérieur de ces DLL, mais GDB, bien que les définit, les ignore silencieusement au moment de l'exécution. Entrer dans eux (avec la touche 's') juste les saute (comme avec une touche 'n'). Comment puis-je entrer dans ces DLL? Peut-être qu'il y a une option que je devrais spécifier à GDB? Merci d'avance.Debug DLL sous Windows avec GDB

+0

Si vous ajoutez une balise C ou C++, vous obtiendrez peut-être plus de vues. – Sahas

+0

Ajoutez-vous les points d'arrêt dans le code de la DLL avant ou après le lancement du programme? –

+0

J'ai essayé dans les deux sens - les résultats sont les mêmes –

Répondre

2

Assurez-vous que vous compilez avec gcc optimization level drapeau défini sur 0 (-O0).

+0

Eh bien, cela semblait avoir l'effet désiré. Bien qu'il a montré quelques nouveaux accidents inattendus à l'intérieur de VLC :( –

+0

Cela n'a rien à voir avec la question.Au moins, maintenant vous pouvez les déboguer. –