TracePoint : Un Breakpoint amélioré pour mieux tracer vos applications avec Visual Studio
Qui n'a jamais fait de Trace.WriteLine, Console.WriteLine & co pour voir l'état d'une variable ?
Visual Studio, nous propose une solution plus élégante afin d'accomplir cette tâche : les TracePoints.
Un TracePoint est un point d'arrêt amélioré. Lorsque vous rajoutez un point d'arrêt (BreakPoint) vous avez la possibilité de configurer les conditions d'arrêts :
En fonction d'une variable :

En fonction du nombre de fois que le point d'arrêt à été atteint :
Ou en fonction du process/thread qui exécute le code :
Mais l'on peut également configurer ce que dois faire le debugger lorsque l'on click sur l'élément "When hit ..."
On peut lui dire d'afficher un message dans la fenêtre de debug et ainsi lui dire de ne pas s'arrêter. C'est dans ce cas que l'on appelle un BreakPoint un TracePoint.
Ainsi, on peut voir l'état d'une variable directement dans la fenêtre de Debug :
On peut rajouter un TracePoint directement dans la fenêtre de code :
Bien sur, cela nécessite de lancer son application avec un débuggeur attaché, cela ne remplacera donc pas nos méthodes de trace habituelles.
Je vois trois grands avantages à cette méthode par rapport aux méthodes de traces habituelles :
- Possibilité de voir l'état d'une variable quand on ne peut pas recompiler le code. C'est le cas avec les sources du framework.
- Pas besoin de relancer le débuggeur, dans certains cas, on met du temps à arriver où l'on souhaite en debug dans notre programme, et l'on aimerait bien voir l'état d'une variable à chaque appel sans devoir rejouer tout le scénarios de debug.
- Pas besoin de faire un "check out" sur un fichier simplement pour voir une variable.