Application de vues du débogueur, exemple
Mise à jour : novembre 2007
Cet exemple présente une fonctionnalité introduite par Microsoft Visual Studio 2005, qui permet de modifier de l'affichage d'une classe dans les fenêtres de débogage. En appliquant de nouveaux attributs tels que DebuggerDisplayAttribute, à une classe et à ses membres, vous pouvez contrôler la façon dont les colonnes de valeur, de type et de nom sont affichées pour ce type dans la fenêtre de débogage Variables locales, et si une valeur est visible, masquée, ou développée lorsqu'elle s'affiche. Actuellement, cet exemple est disponible uniquement dans Microsoft Visual C# 2005.
Pour plus d'informations sur l'utilisation des exemples, consultez les rubriques suivantes :
Cet exemple inclut des fichiers sources pour trois classes qui contiennent des attributs de débogueur et des fichiers sources qui n'en contiennent pas, comme illustré dans le tableau suivant.
Fichiers avec attributs de débogueur |
Fichiers sans attributs de débogueur |
---|---|
DebugAddress.cs |
NonDebugAddress.cs |
DebugCustomer.cs |
NonDebugCustomer.cs |
DebugCustomerName.cs |
NonDebugCustomerName.cs |
Le fichier DebuggerViewsExample.cs contient le point d'entrée de l'application console ; il est utilisé par les deux jeux de fichiers. Supprimez les marques de commentaire du code dans les versions Debug (DebugAddress.cs, DebugCustomer.cs et DebugCustomerName.cs) pour exécuter l'exemple.
Pour générer l'exemple à partir de l'invite de commandes
Ouvrez une fenêtre d'invite de commandes et accédez au sous-répertoire \CS du répertoire DebuggerViewsCS. Pour plus d'informations sur les paramètres requis et l'invite de commandes du Kit de développement logiciel (SDK), consultez Comment : définir des paramètres d'exemple.
Tapez msbuild DebuggerViewsCS.sln à la ligne de commande.
Remarque : Cet exemple illustre des fonctionnalités de Visual Studio. Vous devez le démarrer et l'exécuter dans l'environnement de débogage Visual Studio pour pouvoir consulter sa sortie.
Pour générer l'exemple à l'aide de Visual Studio
Ouvrez l'Explorateur Windows et accédez au sous-répertoire \CS du répertoire DebuggerViewsCS.
Double-cliquez sur DebuggerViewsCS.sln pour ouvrir le fichier dans Visual Studio 2005.
Dans le menu Générer, cliquez sur Générer la solution.
Pour exécuter l'exemple
Dans le menu Affichage de Visual Studio, cliquez sur Explorateur de solutions.
Dans la fenêtre Explorateur de solutions, double-cliquez sur DebuggerViewsExample.cs pour ouvrir le fichier dans Visual Studio 2005.
Dans le menu Projet, cliquez sur Afficher tous les fichiers.
Insérez un point d'arrêt (touche F9) sur la ligne où la méthode GetCustomers instancie une variable de type Customer, comme indiqué ici :
Customer c = new Customer(cn, Address.GetAddressById(customerAddresses, cn.Id));
Appuyez sur F5 pour démarrer et exécuter l'exemple d'application dans l'environnement de débogage Visual Studio 2005.
Lorsque l'application s'interrompt au point d'arrêt, appuyez sur F10 pour atteindre la ligne de code suivante.
Observez les valeurs actuelles dans la fenêtre Variables locales en développant la hiérarchie des propriétés, collections et autres objets de l'application. Pour afficher la fenêtre Variables locales, cliquez sur Fenêtres dans le menu Déboguer puis cliquez sur Variables locales.
Dans le menu Déboguer, cliquez sur Arrêter le débogage, appuyez sur MAJ+F5 ou cliquez sur l'icône de la barre d'outils Débogage, afin d'arrêter l'exécution du code.
Supprimez les marques de commentaire du code des trois fichiers dont les noms commencent par Debug. Supprimez ensuite les marques de commentaire du code dans les trois fichiers dont les noms commencent par NonDebug ou sélectionnez ces trois fichiers dans la fenêtre Explorateur de solutions, cliquez avec le bouton droit, puis cliquez sur Exclure du projet.
Dans le menu Déboguer, choisissez Démarrer avec le même jeu de points d'arrêt. Lorsque l'application arrête, observez les détails dans la colonne des valeurs de la fenêtre Variables locales, qui contient maintenant des informations supplémentaires fournies par les attributs de débogage.
Notes
Pour fournir un exemple de l'utilisation d'un attribut de débogage, le fichier DebugCustomer.cs contient l'attribut DebuggerDisplay suivant pour la classe CustomerName :
[DebuggerDisplay("{(FirstName == null) ? \"\":FirstName} {LastName} ==> (Customer ID = {Id})")]
Lors du débogage, cet attribut affiche la valeur suivante dans la fenêtre Variables locales. Le nom cn est une instance d'un objet CustomerName.
Nom |
Valeur |
Type |
---|---|---|
cn |
"Sally" "HighBridge" ==> (ID client = 12345) |
Microsoft.Samples.CustomerName |
Sans l'attribut, la fenêtre Variables locales affiche ce qui suit :
Nom |
Valeur |
Type |
---|---|---|
cn |
{Microsoft.Samples.CustomerName} |
Microsoft.Samples.CustomerName |