[Visual Studio 2010] IntelliTrace, symboles non trouvés et fichiers PDB
Microsoft Test Elements est le nouvel outil de la gamme de produit Visual Studio 2010 destinés aux testeurs fonctionnels. Il permet, entres autres, d’organiser et de gérer les plans de tests de vos applications, de réaliser des tests fonctionnels ou encore de gérer des environnements de tests (virtuels ou physiques). Cet article n’a pas pour ambition de traiter en détails ces fonctionnalités mais plus de vous parler d’un point précis souvent rencontré dans des scénarii de collaboration entre testeurs fonctionnels et développeurs.
En effet, de nombreuses nouveautés abondent en ce sens dans Visual Studio 2010 : Microsoft Test Elements, tests impactés, Intellitrace… En général, les développeurs travaillent avec Team Foundation Server, dans un projet d’équipe leur permettant de stocker leur code source, de gérer leurs éléments de travail… Des processus de builds sont mis en place sur le serveur pour compiler l’application, exécuter des tests unitaires, valider des non-régressions etc… Après une build, les binaires de l’application sont déposés dans un “drop folder”, en général un répertoire réseau accessible par tous les acteurs de l’équipe et notamment les testeurs fonctionnels.
Ces derniers peuvent alors récupérer l’application, la tester, éventuellement détecter des anomalies et créer des fiches de bugs directement dans TFS. Ces bugs sont alors affectés à un ou plusieurs développeurs en charge de les corriger. La plupart du temps, l’exécution d’un test fonctionnel dans Microsoft Test Elements s’accompagne de l’enregistrement d’un certain nombre d’informations ayant pour ambition d’aider le développeur à reproduire le bug et notamment un fichier “tdlog” correspondant à la nouvelle fonctionnalité d’IntelliTrace. Celle-ci permet au développeur de relancer le programme en mode debug via Visual Studio 2010, mais dans l’état tel qu’il était lorsque le bug est survenu chez le testeur fonctionnel. Ainsi le développeur a alors accès à la stack trace, aux différents évenements survenus lors de l’exécution de l’application mais aussi aux diverses excetpions qui se sont produites, avec la possibilité d’accéder directement aux lignes de codes incriminées.
Seulement, pour que cela fonctionne, développeur et testeurs doivent absolument être sur la même compilation de l’application et surtout il est important que les fichiers PDB, résultant de la compilation, soient accessibles. Les fichiers PDB (Program DataBase) sont des fichiers stockants les symboles chargés par Visual Studio lors de l’exécution en mode débug afin d’espionner diverses variables, de savoir quels points d’arrêts marquer etc… Ils sont donc d’une aide précieuse voir indispensable lors du debug de celle-ci. Il est donc IMPERATIF de les conserver.
Dans le type de scénario décrit ci-dessus, il est fort possible que le développeur travail sur une version plus avancée que celle testée. Ainsi, il est probable que vous obteniez une message indiquant que les symboles ne peuvent être chargés par Visual Studio lors de l’utilisation de l’IntelliTrace.
Pour contourner ce problème, vous pouvez indiquer l’emplacement des fichiers pdb à charger par Visual Studio. Pour cela, rendez-vous dans le menu Debug de Visual Studio et choisissez l’entrée “Options and settings…” :
Dans l’écran qui s’affiche, sélectionnez le menu “Symbols” dans le treeview de gauche :
Vous avez alors la possibilité de préciser à Visual Studio 2010 un répertoire depuis lequel charger les fichier PDB associés à la build de l’application testée, en général le repertoire réseau dans lequel les binaires de l’application sont déposés après la build.
Une fois ceci fait, plus de problème, les symboles sont bien chargés lors de l’utilisation de la fonctionnalités IntelliTrace et vous pouvez profiter pleinement de celle-ci !
A bientôt,
Julien