Question

Comment obtenir une pile d'appels complète pour une application c ++ développée avec Visual Studio 2005? J'aimerais disposer d'une pile d'appels complète incluant le code dans les bibliothèques système.

Dois-je modifier certains paramètres dans Visual Studio ou dois-je installer un logiciel supplémentaire?

Était-ce utile?

La solution

  1. Obtenir des informations de débogage pour toutes les dépendances du projet. Ceci est spécifié dans les " Propriétés de configuration - > C / C ++ - > Général " section des propriétés du projet.

  2. Dans le menu, accédez à "Outils - > Options " puis sélectionnez "Débogage - > Symboles " ;.

  3. Ajoutez un nouvel emplacement de symbole (l'icône du dossier) qui pointe vers le serveur de symboles libres de Microsoft & # 8220; symsrv symsrv.dll c: \ symboles * http://msdl.microsoft.com/downloads/symbols & # 8220;

  4. Remplissez les " symboles de cache " champ avec un endroit local afin de ne pas aller à Internet tout le temps.

Autres conseils

D'accord avec Clay, mais pour Symbols Server, vous devez obtenir la dernière version de symsrv.DLL fournie par "Outils de débogage pour Windows", téléchargeables gratuitement sur Microsoft.

(Puisque vous avez explicitement demandé ce que vous devez télécharger, je suppose que vous ne l'avez pas encore.)

Ou, éventuellement (en supposant que Visual Studio n'est pas installé), récupérez une copie de Outils de débogage Windows , installez et exécutez votre application depuis le débogueur (windbg.exe) ou associez-la à une application en cours d'exécution:

windbg [.exe] -pn programme.exe
ou
windbg [.exe] -p id_processus

Interrompez le débogueur au point que vous souhaitez observer pour le suivi de la pile (Ctrl + Break). Basculez vers le fil d’intérêt (probablement le fil principal de l’exécution):

~ 0s

Corrigez les symboles pour les modules système (et probablement aussi pour l'application si disponible):

* corriger les symboles de l'application
.sympath path_to_app_symbols
* configure où le débogueur téléchargera et stockera les symboles système

.symfix + path_where_system_symbols_will_be_stored
* force le débogueur à recharger des symboles
. Reload

Émettez une commande de pile d'appels:

kb
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top