Utiliser les symboles de Debug Publiques de Microsoft

Remarque : Si vous ne savez pas ce que sont les symboles, lisez tout d'abord ma page décrivant comment les générer dans vos applications

Microsoft met à disposition des Serveurs de symboles, et il est très simple de configurer vos outils de développement pour qu'ils téléchargent automatiquement les symboles publiques des dll et exécutables correspondant précisément à votre Windows (ou celui d'où provient un crash dump que vous analysez). Ceci fonctionnera depuis Visual C++ 2003, depuis WinDBG (des Microsoft Debugging Tools for Windows), depuis l'outil Process Explorer de Sysinternals, depuis l'outil PEBrowse Professional, de SmidgeonSoft, et depuis d'autres outils de Debugging.

Remarque : Vous remarquerez que je ne cite pas, ici, Visual C++ 6, et c'est exprès : avec lui, il est possible d'installer les "gros" packages de symboles que fournissait Microsoft, mais il n'est pas possible d'utiliser de façon automatiques les serveurs de symboles tels que c'est précisé ici. Si vous souhaitez absolument le faire, il y a quelques contournements possible : cherchez sur les NewsGroup, vous trouverez quelques solutions. En fait, je n'en précise aucune ici, car bien que travaillant encore avec Visual C++ 6, les projets sur lesquels je l'utilise en ce moment font planter son debugger. J'utilise donc WinDBG qui est en fait infiniment plus puissant : j'en suis donc très content.

A quoi cela sert-il ?

Et bien tout d'abord, on peut se demander quel peut être l'intérêt d'avoir ces symboles. Voici quelques pistes :

Comment fait-on ???

Alors après mon "blabla", vous allez rire : l'explication est bien plus longue que leur configuration : c'est très très très simple !!!

En fait, il suffit d'avoir une connexion Internet directe, et de :

En fait, il y a d'autres options, et je vous invite à les regarder dans l'aide des regarder dans l'aide des Microsoft Debugging Tools for Windows, dans les rubriques :

Je vous entends déjà pleurer, "ma société a eu l'extrême bêtise de mettre un serveur proxy http... Comment puis-je faire ???". Dans ce cas, vous pouvez regarder du côté de la variable d'environnement _NT_SYMBOL_PROXY : toujours dans la documentation des Microsoft Debugging Tools for Windows, regardez les rubriques :

Et si ceci ne suffit pas (votre proxy est non standard, ou bien vous n'avez pas accès du tout à internet), faites du lobbying pour rendre possible l'accès direct (ou via un proxy standard) l'accès à ce serveur de symbole correspondant aux sous répertoires de http://msdl.microsoft.com/download/symbols, et même par la même occasion, de tout microsoft.com.

Et voilà

Comme vous pouvez le constater, c'est tout simple et le seul inconvénient est que ça prends un peu de place disque. Donc pourquoi s'en priver ???

pour m'écrire
retour page informatique
retour page principale