Loading

Exploitez toute la puissance d'Intellitrace

none

Notre précédent dossier illustrait la manière dont IntelliTrace contribue à accélérer le processus de débogage, mais il s’agit uniquement de la partie visible de l’iceberg par rapport à son potentiel.

Ce dossier est issu de notre publication IT Pro Magazine (01/11). Pour consulter les schémas et illustrations associés, rendez-vous dans le club abonnés.


Si vous revenez dans le menu Tools | Options | IntelliTrace au niveau de Visual Studio 2010, une option permet de passer du mode d’événements IntelliTrace uniquement (par défaut) au mode d’événements et d’informations d’appels IntelliTrace plus puissant. Dans ce dernier, l’outil collecte non seulement les données pour les événements IntelliTrace, les exceptions et les événements d’arrêt du débogueur, mais aussi des informations sur les paramètres et les valeurs de retour au niveau de toutes les entrées et sorties de méthode. Ce mode nécessite plus de temps système en termes de taille de fichiers et de temps d’exécution, mais les données supplémentaires ouvrent certaines voies intéressantes pour effectuer des retours en arrière.

L’exemple de la figure 2 utilise une version modifiée du kit de démarrage de jeu de cartes C# et illustre la possibilité d’employer IntelliTrace afin d’enregistrer et de partager des fichiers IntelliTrace à l’issue de la collecte. Dans notre scénario, nous avons reçu un bug dans Team Foundation Server de la part de notre testeur. Ce bug concerne un problème dans la toute dernière build de notre application de jeu de blackjack. Pendant le déroulement normal du jeu de cartes, le testeur a été en mesure de placer le solde du joueur dans le rouge et des exceptions ont été déclenchées lorsque le joueur a essayé d’effectuer une mise quelconque. Le jeu a été conçu afin qu’un joueur ne puisse jamais miser plus que ses fonds restants. Par conséquent, quelque chose ne tourne pas rond. Un fichier iTrace (extension des fichiers IntelliTrace) est fourni avec le bug et est ouvert dans Visual Studio.

La page de résumé apparaît lorsqu’un fichier iTrace est chargé, afin de fournir un récapitulatif rapide des données de débogage qu’il contient. En haut de la page, nous pouvons voir un graphique de la durée de vie de toutes les threads du processus capturé. Au-dessous figurent une série de grilles de données explorables, lesquelles contiennent des données sur les threads, les exceptions, les données de test, les informations système et les modules pour cette session de débogage spécifique. Avant même de démarrer le débogage, cette page de résumé peut fournir certaines informations très utiles qu’un développeur devrait normalement demander auprès du testeur. Cela inclut des éléments tels que le système d’exploitation utilisé, son caractère 32 ou 64 bits ou la résolution d’écran, car ces informations sont toutes capturées dans la partie du fichier réservée aux informations système.

Dans cet exemple, le testeur a signalé que le jeu lui permettait d’avoir un solde négatif, puis déclenchait une exception lorsqu’il essayait de miser avec le solde en question. Au niveau de la page de résumé, une exception apparaît avec le message « You do not have enough money to make this bet », en haut de la liste d’exceptions. Il s’agit d’un bon point de départ à vos investigations. Il vous suffit de double-cliquer sur cette exception ou de la sélectionner et de cliquer sur le bouton Start Debugging sous la pile des appels. Si vous n’avez pas d’exception particulièrement intéressante, le débogage peut aussi être lancé à partir d’événements de test ou en double-cliquant sur une thread dans la grille de données de threads ou dans le graphique de threads.

Après le démarrage du débogueur, nous sommes renvoyés au source, comme si l’exception System.ArgumentException avait été sélectionnée dans la fenêtre d’événements IntelliTrace à partir du débogage dynamique. Lors de l’utilisation du mode d’informations d’appels, un petit jeu d’icônes de navigation sera présent dans la partie gauche de la fenêtre de source. Celles-ci vous permettent de parcourir vers l’avant et vers l’arrière les points de collecte de données IntelliTrace et d’entrer dans des fonctions ou d’en sortir. Les touches de raccourci normales du débogueur sont aussi actives pour l’exploration pas à pas des données IntelliTrace, de sorte que F10 vous permettra d’avancer à travers les données IntelliTrace collectées. Notez que, puisque IntelliTrace ne capture pas d’informations de niveau ligne, le contexte sautera fréquemment plusieurs lignes de site d’appel à site d’appel pendant la navigation.

D’après la description du bug par le testeur, cette exception est connue pour n’être qu’un effet de bord. Le véritable problème est qu’un solde négatif soit autorisé. Le contrôle de la liste d’événements IntelliTrace montre que la fonction DoubleDown a été appelée juste avant l’appel final qui a déclenché l’exception. En déroulant notre code source pour BlackJackGame.cs, nous pouvons accéder jusqu’à la fonction DblDwnBtn_Click. La fonction comporte un appel à Game.CurrentPlayer.DoubleDown. Nous suspectons cette zone d’avoir provoqué le bug, il faudrait un certain délai pour remonter le temps au moyen de la fonction pas à pas afin de ramener ce contexte à cet emplacement.
 

12
 
Blogger sur iTPro.fr ! Nous sommes constamment à la recherche de nouvelles voix et de nouvelles collaboration éditoriales sur iTPro.fr. Si vous êtes intéressés pour blogger ou écrire pour nous, contactez Sabine Terrey, Directrice de la rédaction, iTPro.fr.
Nous sommes ouverts à tous les thèmes portant sur les services, les solutions et les technologies informatiques d'entreprise. Notre seule condition sera la qualité de votre contribution, quel que soit votre thème de prédilection, actualités, annonces, lancements, stratégie, tutoriaux, trucs et astuces, bonnes pratiques... cette liste n'étant pas exhaustive, stay tuned, au plaisir de collaborer.
 
Guide de modernisation IBM system i : les écrans verts en question !Guide de modernisation IBM system i : les écrans verts en question !Découvrez comment booster l’usage et le ROI de vos applications IBM system i avec des interfaces graphiques modernisées. Vous améliorez drastiquement l’expérience client-utilisateur et gagnez en productivité sans aucun risque de rupture technologique.Découvrez le Guide IBM system i

Ressources Informatiques

Sécurité des données en environnements Hyper-V et vSphere Découvrez comment moderniser simplement la protection de vos données avec une solution sécurisée et performante, regroupant sauvegarde et réplication,…
   Veam - NetApp | 8 pages
Découvrez le Guide Veeam NetApp
Comment Aviva modernise ses infrastructures IBM system i ? Face aux défis d’optimiser la valeur de l’infrastructure, la productivité et le ROI de vos applications IBM i, découvrez comment l’assureur Aviva…
   Micros Focus | 4 pages
Découvrez le cas client Aviva
Guide de modernisation IBM system i : les écrans verts en question Découvrez comment booster l’usage et le ROI de vos applications IBM system i avec des interfaces graphiques modernisées. Vous améliorez drastiquement…
   Micro Focus | 4 pages
Découvrez le Guide de modernisation IBM system i
IBM system i: les 5 bénéfices de l’émulation de terminal Productivité, flexibilité, intégration, ROI, sécurité, découvrez en 5 points clés les bénéfices majeurs de l’émulation de terminal, présentés…
   Micro Focus | 8 pages
Découvrez le Top 5 !
La collaboration universelle en entreprise améliore la productivité Découvrez comment les entreprises qui utilisent des technologies sociales, qui prennent en charge les communications ouvertes et une collaboration transparente,…
   Microsoft | 8 pages
Découvrez le rapport Microsoft
Les 8 vérités sur la sauvegarde et la récupération Les entreprises les plus avancées se servent de ces conseils pour s'assurer que l'ensemble de leurs données est à l'abri, qu’elles stockées sur…
   Acronis | 12 pages
Téléchargez le livre blanc
 

Informatique ProfessionnelleActualités, chroniques et dossiers IT experts

Mark Cochrane Mark Cochrane MVP sur System Center

Patrick Thomas Patrick Thomas Formateur indépendant IBM i

Etienne Legendre Etienne Legendre Consultant Sharepoint

Vidéos Informatiques

Assises de la Sécurité 2014 – Safenet : « Seules 1 % des données volées sont chiffrées »Safenet, spécialiste de la protection des données en entreprise, récemment racheté par Gemalto,… Par iTPro.fr

Assises de la Sécurité 2014 - HP Application Defender : La protection applicative en mode SaaSLes applications, maillon faible de la sécurité ? Beaucoup d’acteurs présents aux Assises de la… Par iTPro.fr

Assises de la Sécurité 2014 – Gigamon veut une « visibilité permanente » sur le réseauGigamon participait pour la première fois cette année aux Assises de la Sécurité. L’entreprise… Par iTPro.fr

Assises de la Sécurité 2014 – Cisco intègre la technologie Sourcefire dans ses firewallsIl y a un an, Cisco rachetait Sourcefire pour renforcer son offre en matière de sécurité. Du mariage… Par iTPro.fr

Assises de la sécurité 2014 – Dictao et Morpho démarrent leur convergenceDictao, éditeur français de solutions d’authentification, de signature et d’archivage, a rejoint… Par iTPro.fr

Conseil & Expertise

Bénéficiez de toute l'expertise informatique des magazines,
découvrez les abonnements papiers et leurs compléments
numériques sur Internet via le Club Abonnés.

S'abonner au mensuel IT Pro Magazine pour - 9 € / mois

Déjà abonné à nos magazines informatiques professionnels ?

» Accédez aux services de votre
Club Abonnés sur iTPro.fr