Numéro d'article: 308469 - Dernière mise à jour: mardi 3 février 2004 - Version: 1.0

COMMENT FAIRE : Définir des points d'arrêt conditionnels dans Visual Studio .NET

A noterCet article s'applique à un système d'exploitation différent de celui que vous utilisez. Le contenu de l'article qui ne vous concerne peut-être pas est désactivé.
Cet article peut contenir des liens vers des informations en langue anglaise (pas encore traduites).

Sommaire

Agrandir tout | Réduire tout

Résumé

Visual Studio .NET offre plusieurs méthodes permettant de déboguer les applications .NET Framework. Cet article décrit étape par étape comment utiliser les points d'arrêt pour déboguer une section de code rédigée en Microsoft Visual Basic .NET.

Cet article suppose que vous connaissez la syntaxe du langage Visual Basic .NET.

Création d'un exemple de code

  1. Démarrez Visual Studio .NET, puis créez un nouveau projet d'application console Visual Basic appelé Debug.
  2. Modifiez le code de Module1.vb comme suit :
    Module Module1
    
        Sub Main()
    
            Dim MyTime As String = TimeString
            Dim MyGreeting As String
    
            ' Create a greeting.
            If CInt(TimeString.Substring(0, 2)) < 12 Then
                MyGreeting = Reverse("Good Morning")
            Else
                MyGreeting = Reverse("Good Afternoon")
            End If
    
            ' Display reversed greeting.
            Console.WriteLine(MyGreeting)
    
        End Sub
    
        
        Function Reverse(ByVal inStr As String) As String
    
            ' Reverses the characters contained in a string.
            Dim MyInt As Integer
            Dim MyStr As String
    
            For MyInt = (inStr.Length - 1) To 0 Step -1
                MyStr = MyStr & inStr.Substring(MyInt, 1)
            Next
    
            Return MyStr
    
        End Function
    
    End Module
    					
  3. Enregistrez le projet.

Création d'un point d'arrêt sans condition

  1. Dans le menu Déboguer, cliquez sur Fenêtres, puis sur Points d'arrêt.
  2. En mode Code, cliquez dans la marge à gauche en regard de la ligne de code ci-dessous. Cette opération définit un point d'arrêt au niveau de cette instruction :
    If CInt(TimeString.Substring(0, 2)) < 12 Then
    					
  3. Dans le menu Déboguer, cliquez sur Démarrer. Le programme démarre en mode débogage. Il s'arrête une fois le point d'arrêt atteint.
  4. Dans le menu Déboguer, cliquez sur Fenêtres, puis sur Variables locales. Les valeurs des variables locales, MyGreeting et MyTime, s'affichent.
  5. Dans le menu Déboguer, cliquez sur Continuer (ou appuyez sur F5). Cette opération permet de reprendre l'exécution du programme après le point d'arrêt.

Création d'un point d'arrêt sur fonction conditionnel

  1. Dans la fenêtre Points d'arrêt, cliquez sur Nouveau pour créer un point d'arrêt.
  2. Sous l'onglet Fonction, tapez Reverse dans le champ Fonction. Tapez 1 dans le champ Ligne, tapez 1 dans le champ Caractère, puis définissez le langage sur Basic.
  3. Cliquez sur Condition et vérifiez que la case à cocher Condition est activée. Tapez instr.length > 0 dans le champ Condition, vérifiez que l'option est true est sélectionnée, puis cliquez sur OK.
  4. Dans la boîte de dialogue Nouveau point d'arrêt, cliquez sur OK.
  5. Dans le menu Déboguer, cliquez sur Démarrer.
  6. Le programme s'arrête au niveau de l'instruction IF dans la méthode Main. Pour que l'exécution du programme reprenne, cliquez sur Continuer dans le menu Déboguer.
  7. Le programme s'arrête de nouveau au niveau de la fonction Reverse. Continuez à exécuter le programme.

Création d'un point d'arrêt supplémentaire

  • Pour créer un point d'arrêt supplémentaire, cliquez dans la marge gauche de la fonction Reverse, en regard de la ligne de code suivante :
    MyStr = MyStr & inStr.Substring(MyInt, 1)
    					

Modification des propriétés d'un point d'arrêt

  1. Pour modifier les propriétés du nouveau point d'arrêt, cliquez avec le bouton droit sur la ligne de code indiquée à l'étape précédente, puis cliquez sur Propriétés des points d'arrêt.
  2. Cliquez sur Nombre d'accès.
  3. Pour définir la valeur Lorsque le point d'arrêt est atteint sur un multiple de 2, tapez 2 dans le champ de texte, puis cliquez sur OK.
  4. Dans la boîte de dialogue Propriétés des points d'arrêt, cliquez sur OK.
  5. Dans le menu Déboguer, cliquez sur Démarrer (ou appuyez sur F5). Le programme s'arrête au niveau du premier point d'arrêt.
  6. Continuez à exécuter le programme jusqu'à ce que le processus de débogage se termine.

Pas à pas dans le code en mode débogage

  1. Démarrez le programme en mode débogage. Lorsque le programme atteint le premier point d'arrêt, dans le menu Déboguer, cliquez sur Pas à pas principal. Le programme ignore le point d'arrêt et passe à l'instruction suivante.
  2. Si vous exécutez ce programme le matin, l'instruction suivante s'affiche :
    MyGreeting = Reverse("Good Morning")
    					
    Si vous exécutez ce programme dans l'après-midi, l'instruction Else s'affiche. Appuyez de nouveau sur F10 pour passer à l'instruction suivante :
    MyGreeting = Reverse("Good Afternoon")
    					
  3. Dans le menu Déboguer, cliquez sur Pas à pas détaillé. Le programme va dans la fonction Reverse.
  4. Cliquez plusieurs fois sur Pas à pas principal dans le menu Déboguer jusqu'à ce que vous atteigniez l'instruction suivante pour la deuxième fois :
    MyStr = MyStr & inStr.Substring(MyInt, 1)
    					
  5. Supprimez le point d'arrêt en cours en cliquant dans la marge à gauche.
  6. Dans le menu Déboguer, cliquez sur Pas à pas sortant. Le programme sort de la fonction Reverse.
  7. Continuez jusqu'à ce que le processus de débogage se termine.

Modification de la sortie de la fenêtre Points d'arrêt

  1. Dans la fenêtre Points d'arrêt, cliquez sur le menu Colonnes pour afficher les colonnes disponibles.
  2. Cliquez sur Fonction pour ajouter la colonne Fonction dans la fenêtre Points d'arrêt.

Désactivation et suppression de points d'arrêt

  1. Dans la fenêtre Points d'arrêt, double-cliquez sur le point d'arrêt suivant :
    Module1.vb, ligne 9 caractère 1
    Cette instruction vous amène à l'emplacement du point d'arrêt dans la fenêtre Code :
    If CInt(TimeString.Substring(0, 2)) < 12 Then
     
    					
  2. Dans la fenêtre Points d'arrêt, désactivez la case à cocher de ce point d'arrêt. Le point d'arrêt est désactivé.
  3. Dans la fenêtre Points d'arrêt, cliquez sur Désactiver tous les points d'arrêt, sur Activer tous les points d'arrêt, puis sur Effacer tous les points d'arrêt.

Dépannage

  • Vous ne pouvez créer des points d'arrêt que sur les lignes de code exécutables. Par exemple, les points d'arrêt sont interdits dans les commentaires et les déclarations de variable sans valeur par défaut.
  • Vous ne pouvez attribuer des points d'arrêt sur fonction que sur la première ligne de la déclaration de la fonction.
  • Microsoft ne prend pas en charge les points d'arrêt sur variable dans le langage Visual Basic .NET.

RÉFÉRENCES

Pour plus d'informations sur le débogage des points d'arrêt, reportez-vous à la rubrique suivante dans l'aide en ligne de Visual Studio .NET (en anglais) :
Debugging Basics: Breakpoints (Principes élémentaires du débogage : points d'arrêt)
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vsdebug/html/vxconDebugging101Breakpoints.asp (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vsdebug/html/vxconDebugging101Breakpoints.asp)

Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Visual Studio .NET 2002 Professional Edition
Mots-clés : 
kbhowto kbhowtomaster KB308469
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.