2011-04-06 3 views
4

Jusqu'à présent, mon débogueur Visual Studio 2008 est entré progressivement dans le code de la bibliothèque Qt lorsque j'ai appuyé sur F11. Après la mise à niveau de Qt vers la dernière version et le changement de QTDIR, F11 n'entre plus dans le code de la bibliothèque. Des indices pour rendre le débogueur intelligent à nouveau?Comment faire pour que le débogueur MSVC entre dans le code source de la bibliothèque Qt?

+1

Vous liez sur les bibliothèques de débogage appropriées? Peut-être vérifier si les fichiers .pdb sont là et trouvés par le débogueur VS. –

Répondre

9

Activer la liste de modules, Debug - Windows - Modules, pour voir quelles bibliothèques sont chargées et si des symboles de débogage sont chargés pour ces bibliothèques. Notez que vous devez activer le débogueur sur votre processus pour pouvoir le faire.

En mode débogage, les bibliothèques Qt doivent être suffixées par d. QtCored4.dll par exemple. Si vous voyez QtCore4.dll dans la liste, vous avez lié aux mauvaises bibliothèques. Si cela dit QtCored4.dll mais sous Symbol Status il y a quelque chose de différent de Symboles chargés., alors c'est la raison. Vous pouvez charger les symboles manuellement en faisant un clic droit sur la DLL et en sélectionnant Charger les symboles. Il demande le fichier Pdb après avoir cliqué dessus.

Vous pouvez ajouter d'autres emplacements de fichiers pdb, s'ils n'ont pas été chargés mais existent, dans Outils - Options - Débogage (arborescence) - Symboles (arborescence). Si vous voulez que les symboles soient automatiquement chargés. En cas d'erreur, que le fichier pdb ne corresponde pas au binaire ou quelque chose comme ça, vous devriez reconstruire votre version de débogage Qt, sauf si vous avez plus de fichiers pdb à essayer. Utilisez l'invite de commande Visual Studio et accédez au répertoire Qt, exécutez configure et nmake. Cela prend un certain temps, peut-être quelques heures. Il y avait un certain commutateur pour ne construire que la version de débogage mais j'ai oublié où il va. Notez que la génération peut échouer et après cela, les recherches www.google.com sont très amusantes. Le meilleur pari pourrait être d'obtenir le paquet source seulement, j'ai oublié où l'obtenir et ce n'est pas facile à trouver. Si vous savez où l'obtenir, dites-moi s'il vous plaît. Je me souviens vaguement qu'il pourrait y avoir un autre moyen de construire la version de débogage, mais c'est le seul que je connaisse à coup sûr.

+3

Qt expédie ses fichiers .pdb dans $ (QTDIR) \ bin. J'ai dû l'inclure dans les options du débogueur. – WolfgangA

+1

Le code source uniquement peut être téléchargé ici: http://get.qt.nokia.com/qt/source/qt-everywhere-opensource-src-4.7.2.zip. Le lien est quelque peu "caché" à la fin du premier paragraphe de "Qt: Framework only" sur la page des téléchargements (http://qt.nokia.com/downloads/). – WolfgangA

Questions connexes