Débogage avec IntelliTrace

Cette rubrique s'applique uniquement à Visual Studio 2010 Ultimate.

Le débogage avec IntelliTrace, disponible dans Microsoft Visual Studio 2010 Ultimate, fournit une image améliorée de votre application comparée avec les débogueurs traditionnels. Les débogueurs traditionnels indiquent l'état de votre application à l'heure actuelle, avec des informations limitées concernant les événements qui se sont produits par le passé. Vous devez déduire les événements qui se sont produits par le passé, en fonction de l'état de votre application à l'heure actuelle, ou redémarrer l'application pour recréer des événements passés. Avec IntelliTrace, vous pouvez consulter des événements qui se sont produits dans le passé et le contexte dans lesquels ils se sont produits. Cela réduit le nombre de redémarrages qui sont obligatoires pour déboguer votre application et la possibilité qu'une erreur se reproduise lorsque vous réexécuterez l'application.

IntelliTrace étend et améliore l'expérience de débogage réel de Visual Studio à laquelle vous êtes habitué. Vous avez toujours accès à toutes les fonctionnalités du débogueur Visual Studio avec lesquelles vous êtes familiarisé. IntelliTrace fonctionne de façon invisible en arrière-plan, en enregistrant les informations de débogage. Lorsque vous souhaitez consulter un état passé de votre application, vous pouvez passer en mode IntelliTrace. Dans ce mode, vous pouvez accéder à différents instants précis où des événements d'intérêt ont été enregistrés.

Vous pouvez également charger et déboguer un fichier IntelliTrace doté d'une extension .iTrace, créé par IntelliTrace ou Gestionnaire de tests. Les fichiers IntelliTrace vous permettent d'exécuter le débogage post-incident avec toute la puissance d'IntelliTrace.

Lorsque vous utilisez les paramètres par défaut, IntelliTrace a un effet minimal sur les performances de l'application. Par conséquent, IntelliTrace est activé par défaut. Même si vous n'avez pas projeté d'utiliser IntelliTrace lorsque vous avez démarré votre session de débogage, les informations d'IntelliTrace sont collectées automatiquement et disponibles lorsque vous en avez besoin.

Débogage plus rapide du code

IntelliTrace peut vous faire gagner du temps en raccourcissant le cycle de débogage. Par exemple, supposez que vous déboguez une application qui lit une valeur de Registre pendant l'initialisation, mais que la clé de Registre n'existe pas. Le résultat ne peut être repérable que beaucoup plus tard pendant l'exécution de votre application. Par conséquent, vous devez déterminer pourquoi la valeur de Registre n'a pas été lue. L'approche habituelle est de redémarrer l'application et de placer un point d'arrêt près de l'accès au Registre. Relancer l'exécution de l'application prend du temps. Avec IntelliTrace, vous pouvez éviter de nombreux redémarrages de ce type. Au lieu de réexécuter votre application, vous pouvez commencer à déboguer avec IntelliTrace, qui vous permet de consulter tout le Registre des accès antérieurs, de choisir celui qui vous intéresse et d'examiner l'état de votre application au moment de cet accès au Registre. Vous pouvez bénéficier d'autres gains de temps similaires lorsque vous déboguez d'autres problèmes tels qu'une exception ou une erreur d'accès au fichier. Pour plus d'informations, consultez Débogage plus rapide du code avec IntelliTrace.

Débogage d'erreurs non reproductibles

IntelliTrace vous permet de déboguer des erreurs et des incidents qui pourraient autrement être impossible à reproduire. Vous pouvez déboguer des fichiers journaux créés par IntelliTrace ou par Gestionnaire de tests. Un testeur peut lier un fichier journal de Gestionnaire de tests directement à un élément de travail ou un bogue Team Foundation Server qui peut être assigné à un développeur. De cette façon, IntelliTrace et Gestionnaire de tests s'intègrent dans votre workflow d'équipe.

Lorsque vous déboguez un fichier IntelliTrace, le processus est similaire au débogage d'un fichier dump. Toutefois, les fichiers IntelliTrace fournissent beaucoup plus d'informations que les fichiers dump traditionnels. Un fichier dump fournit un instantané de l'état d'une application à un moment donné, habituellement uniquement en cas d'incident. Avec IntelliTrace, vous pouvez remonter l'historique pour consulter l'état de l'application et les événements qui se sont produits précédemment dans l'exécution de l'application. Le débogage à partir d'un fichier journal est ainsi plus rapide et plus facile qu'avec un fichier dump.

Pour plus d'informations, consultez Débogage d'erreurs non reproductibles avec IntelliTrace.

Applications prises en charge et scénarios de débogage

IntelliTrace prend en charge le débogage des applications Visual Basic et C# qui utilisent le .NET version 2.0, 3.0, 3.5 ou 4. Vous pouvez déboguer la plupart des applications, notamment les applications créées à l'aide d'ASP.NET, de Windows Forms, de WPF, de Windows Workflow et de WCF. IntelliTrace ne prend pas en charge le débogage de C++, de scripts ou d'autres langages. Le débogage d'applications F# est pris en charge à titre expérimental.

Avec IntelliTrace, vous pouvez déboguer des applications lancées à partir de Visual Studio et des fichiers IntelliTrace créés par IntelliTrace ou Gestionnaire de tests. Vous ne pouvez pas utiliser IntelliTrace avec des applications lancées à l'extérieur de Visual Studio et déboguées à l'aide de la commande Attacher à. IntelliTrace ne prend pas en charge le débogage distant des applications qui s'exécutent sur d'autres ordinateurs.

IntelliTrace prend en charge le débogage post-incident pour les applications SharePoint et 64 bits via des fichiers journaux de débogage de trace créés par Gestionnaire de tests. Il ne prend pas en charge le débogage des applications SharePoint ou 64 bits lancées à partir de Visual Studio.

IntelliTrace ne prend pas en charge le débogage des applications Silverlight, Xbox ou Windows Mobile.

Niveaux de collection

Lorsqu'IntelliTrace est activé, les informations sont collectées automatiquement pendant chaque session de débogage. Ces informations IntelliTrace vous permettent de basculer entre le débogage réel et le débogage avec IntelliTrace selon vos besoins. Le type d'informations collectées est déterminé par les options que vous définissez au niveau de Visual Studio. Ces options de collection s'appliquent à tous les projets et solutions. Elles sont persistantes entre les sessions de débogage et les sessions Visual Studio.

Par défaut, IntelliTrace collecte les informations des événements IntelliTrace sélectionnés uniquement. Comme mentionné précédemment, la collecte de ces informations par défaut a un effet minime sur la performance votre application.

Pour un débogage plus puissant, vous pouvez choisir de collecter un enregistrement des appels avec leurs paramètres et valeurs de retour, en plus des événements IntelliTrace. Cette puissance de débogage supplémentaire a une incidence sur les performances. Pour plus d'informations sur les événements de diagnostic et les options de collection, consultez Collecte d'informations relatives à IntelliTrace.

Voir aussi

Concepts

Exécution de tâches de développement courantes

Autres ressources

Référence des API pour l'extensibilité IntelliTrace