Debugger Canvas pour Visual Studio 2010

Microsoft vient de sortir par le biais de son DevLabs une nouvelle addition à Visual Studio 2010: le Debugger Canvas.

La release actuelle est le fruit de recherche, ce n’est peut être pas encore “production ready”, mais on peut tout de même s’en servir dès aujourd’hui.

Lorsque l’on débugge, ce qui nous intéresse c’est le flow d’exécution du programme, lorsque l’on fait du pas à pas et que l’on se retrouve sur un appel de méthode on peut choisir de faire un step-into pour débugger son implémentation, avec un débugger classique un nouveau fichier sera ouvert (celui qui contient la méthode en question).

L’approche du Debug Canvas est différente, comme son nom l’indique la session de débugge n’est plus constituée d’une liste de fichiers mais d’un unique canevas.

Lorsque l’on démarre une session de debug et qu’un breakpoint est activé, le canevas s’affiche, il est constitué d’un “code bubble” qui représente l’implémentation de la méthode qui contient le breakpoint en question.

image

Chaque “step-into” affichera un nouveau Code Bubble représentant l’implémentation de la nouvelle méthode en cours, une flèche relient les deux bubble pour indiquer la relation “appelant/implémentation”.

image

Si la session de débugge se prolonge, on aura évidemment beaucoup de bublle, mais les possibilités de zoom/pan, le focus automatique sur une bubble et l’agencement du layout sont bien implémentées. On aura bien sûr la possibilité de faire du ménage.

image

Le canevas servira de hôte à plusieurs composantes:

  • Code Bubble: une petite fenêtre qui affiche l’implémentation d’un méthode faisant partie de la session de débug. C’est une version “miniature” de la fameuse Code Window de Visual Studio.
  • Local values: les variables (et leur valeurs) associées à un Code Bubble. Nous aurons la possibilité de créer des snapshots des valeurs afin de pouvoir constater/comparer les évolutions dans le temps.
  • Notes: des annotations que l’on peut faire pour apporter des compléments d’information (explication du comportement du code, indication sur la résolution, etc.).

Pour pourra l’exporter en XPS afin de partager sa session de débugge avec l’équipe (d’où l’utilité d’avoir des Notes).

Je vous conseille de regarder la vidéo disponible sur la page de l’add-in et de télécharger celui-ci.

A noter que celui-ci demande pour l’instant un Visual Studio 2010 Ultimate.

Pour ma part je trouve l’expérience très intéressante, je débugge avec depuis peu et j’attend de prendre un peu de recul (d’avoir plus de pratique) pour savoir exactement quand s’en servir car vous avez toujours la possibilité d’utiliser le débogage classique.

En tout cas je ne peux qu’être impressionné par la puissance de Visual Studio 2010 qui offre toutes les bases nécessaires à développer ce genre d’outil en se consacrant directement à l’essentiel. Les investissements pour faire une refonte de l’IDE en WPF ainsi que la nouvelle structure d’extensibilité portent leurs fruits!