Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Julien Adam

.NET 2.0 + Team System : développer vite, bien et avec méthode !

Se faciliter le débogage avec la classe Debugger

Située dans l'espace de noms System.Diagnostics, cette classe va vous faciliter la vie dans quelques situations de débogage.

Pour commencer, on trouve la méthode Launch qui va attacher un débogueur au processus si il n'y en avait pas déja un. A quoi celà peut-il bien servir, il suffit de lancer le code à déboguer directement avec Visual Studio me direz vous ? Ce n'est pas toujours aussi simple, notamment lorsqu'il s'agit de déboguer un serveur COM+ ou plus généralement du code qui tourne dans un processus différent de celui que l'on débogue dans Visual Studio.

Bien entendu, on peut toujours lancer le premier processus normalement avec VS.NET, puis attendre que le deuxième soit chargé et passer par la commande "Tools/Attach to process..." pour attacher le débugger manuellement au deuxième processus. Mais au bout de 15 sessions de débogage, ça devient un peu répétitif... En ajoutant quelquechose comme :

#if DEBUG
if(!Debugger.IsAttached)
{
  Debugger.Launch();
}
#endif

Bien placé, ce code va automatiquement attacher le debugger au processus, sans opération manuelle ! (autre qu'éventuellement choisir le déboggeur à utiliser)

Ensuite, on a la méthode Break(). Celle-ci va également attacher un debugger au processus courant si il n'y en a pas déja un mais en plus, elle va produire un effet équivalent à celui d'un point d'arrêt. L'exécution va s'arréter et on aura accès aux fonctionnalités habituelles du débogueur pour inspecter l'état de l'application. Bien pratique pour mettre des "points d'arrêts" dans des processus que l'on a pas forcément envie de déboguer tout le temps mais dans lesquels on voudrait quand même s'arrêter dans certains cas.

Et pour terminer, la méthode Log envoie un message au debogueur qui le présentera au développeur. Dans le cas de Visual Studio.NET par exemple, le message sera affiché dans la fenètre "Sortie". Pratique quand Debug/Trace ne sont pas accessibles.

Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :
Posted: mardi 20 juin 2006 10:15 par julienadam

Commentaires

Pas de commentaires

Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- TechDays Paris 2012 : Session pleinière jour 3 par Blog Technique de Romelard Fabrice le il y a 14 heures et 43 minutes

- Mishra Reader : un lecteur RSS très Zune Style en Open Source ! par Cyril Sansus le il y a 17 heures et 17 minutes

- [framework 4] Les Tasks et le Thread UI par Fathi Bellahcene le 02-09-2012, 00:33

- Workflow Foundation 3 a un pied dans la tombe par Blog de Jérémy Jeanson le 02-08-2012, 22:15

- TechDays Paris 2012 : Nouvelles tendances du poste de travail - Bring Your own PC par Blog Technique de Romelard Fabrice le 02-08-2012, 19:42

- TechDays Paris 2012 : System Center Service Manager 2012 Vue d’ensemble par Blog Technique de Romelard Fabrice le 02-08-2012, 17:32

- TechDays Paris 2012 : Pleinière second jour par Blog Technique de Romelard Fabrice le 02-08-2012, 16:23

- TechDays Paris 2012 : Retour d'expérience sur la mise en place d'un Cloud Privé par Blog Technique de Romelard Fabrice le 02-08-2012, 16:04

- TechDays Paris 2012 : Comment SharePoint a sauvé mes TechDays par Blog Technique de Romelard Fabrice le 02-07-2012, 23:59

- Perspective 3.0 pour Silverlight 5.0 par Perspective le 02-07-2012, 22:39