_NT_SYMBOL_PATH format
Je suis en train d'utiliser windbg plus, et je continue à avoir des problèmes avec le symbole de cache. Il n'est pas clair pour moi ce que le format de la chaîne est censé être.
J'ai quelques exigences:
- utilisation du serveur de Microsoft http://msdl.microsoft.com/download/symbols
- l'utilisation des symboles de notre logiciel sont archivées au \\foo\Build1234
- utiliser un cache local au c:\dev\symbols
L'archive de symboles de nos distribués à construire au \\foo\Build1234 ne sont pas organisés comme un serveur de symbole. Si je comprends bien, j'ai besoin d'utiliser le cache de mot-clé.
Compte tenu de ces exigences, ce que cela ressemble à une mise en forme correctement srvpath:
cache*\\foo\Build1234;srv*c:\dev\symbols*http://msdl.microsoft.com/download/symbols
Edit:
Je viens de commencer la lecture Avancées de Débogage de Windows et j'avais mal interprété la façon dont le cache de mot-clé fonctionne. Je pensais que c'était une façon de dire le débogueur que le dossier est juste un dossier de fichiers et pas d'un serveur de symbole. Après que Michael a laissé son commentaire, j'ai relu l'article et voir ce que cela fonctionne vraiment comme il le décrit.
Maintenant, je suis confus par lorsque vous utilisez un ; ou * pour séparer les chemins/Url. Et quand vous avez besoin le srv* préfixe. Dans l'aide en ligne de windbg ils donnent cet exemple:
\\someshare\that\cachestar\ignores;srv*c:\mysymbols*http://msdl.microsoft.com/download/symbols;cache*c:\mysymbols;\\anothershare\that\gets\cached
Les symboles à partir de \\someshare ne sont pas mis en cache, les symboles de Microsoft sont mis en cache dans c:\mysymbols et c:\mysymbols est utilisé en tant que cache pour tous les autres chemins d'accès à la droite du cache* directive.
L'utilisation occasionnelle de srv* est source de confusion, moi, je ne comprends pas pourquoi le premier et le dernier chemins ne sont pas préfixés avec srv*.
Edit 2:
Ça commence petit à petit à faire sens pour moi. Le srv directive est utilisée pour les serveurs de symboles, et pas pour un symbole normal de répertoires. Donc, je pense que la réponse à ma question initiale est: est-ce
\\foo\Build1234;cache*c:\dev\symbols;srv*http://msdl.microsoft.com/download/symbols
Vous devez vous connecter pour publier un commentaire.
Devrait fonctionner correctement, si
\\foo\build1234
est tout plat APB est. Le Cache n'est pas nécessaire ici; vous avez juste besoin d'ajouter le répertoire à votre chemin de symbole.Le cache de mot-clé spécifie l'endroit où vous souhaitez mettre en cache vos fichiers de symboles, et est utile pour la mise en cache des symboles localement à partir de non-indexées actions (comme
\\foo\build1234
)Au-dessus du chemin de magasin de symboles à partir de MS symbole de serveur et votre symbole de partage sur votre ordinateur local C:\dev\symbols.
De symboles de débogage des problèmes à l'aide de windbg, ne
Et puis faire un peu d'action, qui ont forcé l'APB pour être chargé. Vous verrez où windbg est à la recherche pour les fichiers, et si elle rejette une APB pourquoi il le fait.
Supprimera symbole d'invite.
Voici un poste détaillée sur le débogage de problèmes avec les symboles de chargement.
Chargement des symboles dans Windbg