La version Visual Studio 2010 Ultimate dispose d'une nouvelle fonctionnalité IntelliTrace (traçage intelligent). IntelliTrace a été introduit dans Visual Studio pour accélérer le débogage des applications .NET. Il suit les événements et les méthodes prédéfinis pendant le processus en cours et est effectivement transmis à l'exécuteur de débogage. , transmettant ainsi rapidement l'état et diverses informations du programme pendant l'exécution pour aider les développeurs à mieux déboguer le programme et à trouver rapidement les problèmes. En fait, avant Visual Studio 2010, Microsoft Visual Stuido nous a très bien aidé à hériter des outils de débogage, tels que la surveillance des variables, l'affichage des piles, etc., et la possibilité de définir des points d'arrêt pour le débogage en une seule étape, etc. Tous ces éléments sont très utiles aux développeurs pour comprendre l'état du programme dans différents processus d'exécution et détecter à l'avance s'il s'exécute selon la logique réelle. De plus, nous pouvons trouver le problème en surveillant l'état du programme après les points d'arrêt. Le problème est que certaines erreurs logiques peuvent se produire avant l’exécution du point d’arrêt et peuvent ne pas être traçables. Les développeurs doivent arrêter le débogage en cours, réinitialiser le point d'arrêt et démarrer le débogage, et ce processus expérimental prend souvent plusieurs fois pour trouver l'emplacement correct pour définir le point d'arrêt. IntelliTrace suit et affiche automatiquement et intelligemment certaines informations de débogage et l'état du programme aux développeurs, réduisant ainsi la nécessité pour les programmeurs de trouver des points d'arrêt appropriés pour suivre et surveiller l'état d'exécution du programme.
Visual Studio nous offre deux façons de contrôler la source de contenu des informations qu'il collecte. L'une concerne uniquement les événements IntelliTrace, qui collectent uniquement les données liées aux événements de suivi intelligent et aux interruptions de débogage. L'autre concerne les événements IntelliTrace et les informations d'appel, qui collectent les données dans ; ajout à IntelliTrace Diverses données sur l'entrée et la sortie d'un appel de méthode en dehors des événements. Voyons comment définir les options de traçage d'IntelliTrace dans Visual Studio 2010.
Accédez à Outils-->Options-->IntelliTrace. Il est activé par défaut, mais ne capture que les événements, car la capture d'événements est peu coûteuse. Cependant, lorsque vous commencez à suivre toutes ces informations sur les appels, la valeur réelle commence à apparaître. Chaque fois que vous déboguez, IntelliTrace apparaîtra. Vous pouvez utiliser cet outil de débogage historique pendant le débogage dynamique. Supposons que je suis là et que j'ai un point d'arrêt, mais que je souhaite sauvegarder et reconcevoir ce point d'arrêt, je peux utiliser IntelliTrace pour accomplir cette tâche.
Les autres personnes qui ont capturé leurs processus de débogage à l'aide d'IntelliTrace peuvent vous envoyer les enregistrements et les fichiers .dll et pdbs, et vous pouvez rejouer leurs processus. Le processus peut aller dans la base de données (vous n'avez pas la base de données), il peut être configuré d'une manière que vous ne pouvez pas copier, il peut être sur un réseau auquel vous ne pouvez pas accéder, mais vous ne pouvez pas le faire. Vous n'avez pas à vous inquiéter car vous disposez des enregistrements et des fichiers .dll et pdbs que vous pouvez relire.
Bien sûr, il est préférable d'avoir le code source, car vous pouvez alors voir le code comme si vous le déboguez sur votre propre machine. C'est idéal pour ces problèmes mystérieux qui fonctionnent bien sur votre machine mais pas sur les machines d'autres personnes. C'est également très bon pour les situations multithread, et au fur et à mesure que vous parcourez l'application, le problème logiciel disparaît, mais lors de l'exécution à vitesse normale, le problème logiciel réapparaît.
Par défaut, IntelliTrace collecte uniquement les événements liés à IntelliTrace afin que les données collectées soient réduites et que l'impact sur les performances soit minime. Lorsque l’on choisit de collecter également des données sur les appels de méthodes, outre l’augmentation de l’espace occupé par les données temporairement collectées, l’impact sur les performances est également plus important. Bien que les détails collectés varient, les deux méthodes collectent des données communes. Par exemple, il collectera toujours les informations système lorsque le processus de collecte est démarré pour la première fois, les événements de chargement et de déchargement du module, les heures de début et de fin des threads, etc. Au fur et à mesure que des événements de module et de thread se produisent, les informations de la fenêtre de débogage du module et du thread peuvent être mises à jour correctement. De plus, dans n'importe quel mode, les données seront également collectées aux points d'arrêt de débogage, et les types de données et objets de base collectés seront inspectés et examinés pendant le débogage, et leurs valeurs pourront être modifiées.
D'une manière générale, le débogueur IntelliTrace est conçu sur mesure pour les développeurs de programmes. Grâce à sa fonction de débogage historique unique, il offre aux développeurs une fonction de contrôle du processus de traçabilité des regrets. Par exemple, que dois-je faire si une exception s'est produite il y a 10 minutes dans le programme pendant le développement ? Si dans le passé, cela était généralement fait en appelant manuellement l'instruction Debug.Write, ce n'est plus nécessaire ! Étant donné que les fonctions de débogage historiques de nombreux outils de développement sont très similaires, grâce à IntelliTrace dans la version officielle de VS2010, les programmeurs peuvent non seulement voir l'état actuel du programme, mais également vérifier les événements générés dans certaines circonstances, et même isoler les points de défaillance dans historique des candidatures. Par conséquent, après avoir activé le débogage historique, la version officielle de VS2010 peut capturer la pile d'appels et les variables associées. Nous pouvons revenir en arrière 10 minutes ou plus avant l'enregistrement du programme pour vérifier diverses situations dans lesquelles des exceptions et des échecs se produisent dans le programme. Étant donné que par défaut le programme enregistre uniquement les types de clés, le développeur peut choisir de consigner tous les paramètres, objets et variables globales. Par conséquent, IntelliTrace affichera activement les événements clés pendant l'exécution du programme, tels que les exceptions de code, l'accès aux fichiers, le débogage en temps réel, etc.