Comment puis-je spécifier le répertoire du code source dans VS lorsque je regarde la pile d'appels d'un vidage de la mémoire?

StackOverflow https://stackoverflow.com/questions/165699

Question

J'analyse un fichier .dmp créé et une pile d'appels qui me fournit beaucoup d'informations. Mais je voudrais double-cliquer sur la pile d’appels et l’amener au code source.

Je peux cliquer avec le bouton droit de la souris sur la pile d'appels et sélectionner les paramètres de symbole .. où je peux placer l'emplacement dans le PDB. Mais il n’ya pas d’option pour le répertoire du code source.

Était-ce utile?

La solution

Le répertoire du code source est malheureusement codé en dur dans la base de données. Toutefois, si vous connaissez les dossiers nécessaires, vous pouvez utiliser le concept Windows de liens symboliques, jonctions.

J'utilise l'outil Lien Magic Junction

Autres conseils

Lisez cet article sur la configuration d'un serveur source. (aka SrcSrv) sur votre site.

J’ai pris le temps de suivre ces étapes pour notre base de code et nous sommes maintenant en mesure de prendre un fichier .dmp à partir de n’importe quelle version de notre logiciel au cours des 6 derniers mois ... obtenir une trace de pile avec des symboles ... et afficher les lignes de code source exactes dans le débogueur. Étant donné que les étapes sont intégrées à nos versions automatisées, les frais généraux sont désormais minimes.

J'avais besoin d'écrire un indexeur personnalisé pour ClearCase, mais ils en ont déjà un pour Perforce, TFS et peut-être d'autres.

Il convient de noter que le support .dmp dans VS2005 est un peu fragile. Il est un peu plus stable dans VS2008.

Vous devrez également configurer Visual Studio pour récupérer les symboles des produits MS à partir de cet emplacement, en plus de votre propre serveur de symboles:

http://msdl.microsoft.com/download/symbols

Cela est décrit à quelques endroits, par exemple sur la Outils de débogage pour Windows site.

Windbg vous permet de configurer les chemins source de la même manière que les chemins de la base de données.

Après avoir chargé le PDB, accédez manuellement au fichier source correspondant à l'emplacement d'exécution actuel. Un PDB contient le chemin d'accès et le nom du fichier source qui a construit le fichier binaire associé. Je suppose que le débogueur est suffisamment intelligent pour mettre les choses en place lorsqu'il constate que le nom du fichier en cours d'affichage et le nom du fichier associé à l'emplacement actuel du fichier binaire correspondent.

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