Visual Studio n’est pas le seul outil de débogage disponible.
Outils de débogage externes
Vous pouvez ajouter un certain nombre d’outils externes et d’outils tierce partie à votre kit de débogage. Examinons quelques outils gratuits.
Tous les outils externes ne proviennent pas forcément d’autres éditeurs. Si vous créez des services Windows, vous savez combien leur débogage peut être difficile. Vous vous penchez sur un processus en cours pour le déboguer, mais le temps que vous passiez à un processus de service Windows, son code OnStart et d’initialisation aura été exécuté. Si un bug dans ce code empêche le démarrage du service, vous pouvez en être réduit à formuler des hypothèses au lieu de collecter les preuves nécessaires à la description du problème.
Outils de débogage externes
Il est possible de configurer le débogage JIT (Just-in-Time) et Automatic Launch pour traiter ces situations. Une session de débogage débute lorsque votre service rencontre un problème ou au démarrage du service. Mais cette approche est réalisée en dehors de Visual Studio.
La configuration du débogage JIT sort du cadre de cet article, mais un article de la Base de connaissances Microsoft explique comment procéder. Il recommande d’utiliser Global Flags Editor (gflags.exe). Si vous ne le trouvez pas ou ne pouvez pas l’obtenir auprès du centre de téléchargements Windows, l’article explique aussi comment mettre à jour le Registre Windows pour activer le débogage JIT. Il sera toutefois nécessaire d’apprendre à utiliser WinDbg (cf. l’encadré « WinDbg : au-delà du débogueur Visual Studio »)
WinDbg : Au-delà du débogueur Visual Studio |
WinDbg : Au-delà du débogueur Visual StudioSi vous souhaitez aller au-delà du débogage de code source, Microsoft .NET Framework inclut certains outils remarquables, notamment : ? Windows Debugger (WinDbg.exe) Si vous n’avez jamais utilisé WinDbg, il n’est pas aussi intimidant qu’il n’y paraît. WinDbg possède une interface utilisateur graphique (à la différence d’outils de type console tels que NTSD, KD et CBD) et peut charger les fichiers PDB contenant les symboles de débogage pour votre application (assurez-vous seulement de compiler votre application en mode débogage afin d’avoir le fichier de symboles pertinent). En dehors de SOS, d’autres extensions de WinDbg gèrent les tâches de débogage courantes. Toutefois, l’outil le plus utile avec WinDbg est probablement un livre : « Advanced .NET Debugging » (Addison-Wesley Professional, 2009) coécrit par Mario Hewardt et Patrick Dussud. Non seulement il présente l’utilisation de ces outils, mais il le fait dans le contexte de la localisation de certains problèmes .NET courants. |
Téléchargez cette ressource
Microsoft 365 Tenant Resilience
Face aux failles de résilience des tenants M365 (configurations, privilèges, sauvegarde). Découvrez 5 piliers pour durcir, segmenter et surveiller vos environnements afin de limiter l’impact des attaques. Prioriser vos chantiers cyber et améliorer la résilience de vos tenants Microsoft 365.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- France : la maturité data devient le moteur du retour sur investissement de l’IA
- Cloud et IA : une maturité en retard face à l’explosion des usages
- On ne peut pas gouverner ce qu’on ne peut pas voir : pourquoi la visibilité doit-elle passer avant la gouvernance en matière de sécurité des identités ?
- L’IA amplifie les risques sur les API
Articles les + lus
Les coûts cachés des merge requests générées par l’IA
Femmes et métiers de la tech : une attractivité réelle freinée par des stéréotypes persistants
Moderniser le développement logiciel : de la fragmentation à l’intégration
Analyse Patch Tuesday Mars 2026
Une nouvelle ère de la modernisation du mainframe
À la une de la chaîne Tech
- Les coûts cachés des merge requests générées par l’IA
- Femmes et métiers de la tech : une attractivité réelle freinée par des stéréotypes persistants
- Moderniser le développement logiciel : de la fragmentation à l’intégration
- Analyse Patch Tuesday Mars 2026
- Une nouvelle ère de la modernisation du mainframe
