Définition et modification de points d'arrêt

De RAD Studio (Français)

Remonter à Débogage des applications - Index

Les points d'arrêt suspendent l'exécution du programme à un certain emplacement ou lorsqu'une condition précise se produit. Vous pouvez définir des points d'arrêt source et des points d'arrêt chargement de module dans l'éditeur de code avant ou pendant une session de débogage. Vous ne pouvez définir des points d'arrêt données et des points d'arrêt adresse que lorsque l'application s'exécute en mode débogage (F9).

Sommaire

Icônes de point d'arrêt

Lors d'une session de débogage, toute ligne de code pouvant accepter un point d'arrêt est signalée par un point bleu Point bleu dans la gouttière de gauche de l'éditeur de code.

Vous pouvez aussi définir des points d'arrêt sur les cadres affichés dans la fenêtre Pile d'appels. Les icônes de point d'arrêt de la fenêtre Pile d'appels sont similaires à celles de l'éditeur de code, à l'exception que le point bleu Point bleu de la pile d'appels indique seulement que des informations de débogage sont disponibles pour le cadre, et pas qu'un point d'arrêt peut être défini sur ce cadre.

Les points d'arrêt sont affichés dans la fenêtre Liste des points d'arrêt, disponible en sélectionnant Voir > Fenêtres de débogage > Points d'arrêt.

Vous pouvez faire glisser les icônes de point d'arrêt et les déposer dans la fenêtre Editeur de code ; un point d'arrêt déplacé conserve les paramètres du point d'arrêt original. Les icônes suivantes sont utilisées pour représenter des points d'arrêt dans la gouttière de l'éditeur de code.

Icône Description

Point d'arrêt dans l'éditeur de code

Le point d'arrêt est valide et activé. Le débogueur est inactif.

Point d'arrêt dans le débogueur

Le point d'arrêt est valide et activé. Le débogueur est actif.

Point d'arrêt non valide

Le point d'arrêt est incorrect et activé. Le point d'arrêt est défini sur un emplacement non valide, tel qu'un commentaire, une ligne vide ou une déclaration non valide.

Point d'arrêt désactivé

Le point d'arrêt est valide et désactivé. Le débogueur est inactif.

Point d'arrêt désactivé dans le débogueur

Le point d'arrêt est valide et désactivé. Le débogueur est actif.

Point d'arrêt non valide dans le débogueur

Le point d'arrêt est non valide et désactivé. Le point d'arrêt est défini à un emplacement non valide.

Pour définir un point d'arrêt source

  1. Pour pré-remplir le numéro de ligne dans la boîte de dialogue, cliquez sur la ligne du source dans l'éditeur de code à l'endroit où vous voulez arrêter l'exécution.
  2. Choisissez Exécuter > Ajouter un point d'arrêt > Point d'arrêt source pour afficher la boîte de dialogue Ajouter un point d'arrêt source.
    Conseil : Pour changer la gouttière de l'éditeur de code, choisissez Outils > Options > Options de l'éditeur > Affichage et ajustez l'option Largeur de gouttière.
  3. Dans la boîte de dialogue Ajouter un point d'arrêt source, le champ Fichier est pré-rempli avec le nom du fichier, et Passes est défini sur 0 (ce qui signifie que le point d'arrêt se déclenche à la première passe). Dans le champ N° de ligne, entrez la ligne de l'éditeur de code où vous voulez définir le point d'arrêt.
  4. Pour appliquer une condition au point d'arrêt adresse, entrez une expression conditionnelle dans le champ Condition. L'expression conditionnelle est évaluée à chaque rencontre du point d'arrêt et l'exécution du programme s'arrête quand l'expression est évaluée à True.
  5. Pour associer le point d'arrêt source à un groupe de points d'arrêt, entrez le nom d'un groupe ou sélectionnez un groupe dans la liste déroulante Groupe.
  6. Pour définir les options avancées, voir la rubrique Ajout d'un point d'arrêt adresse ou d'un point d'arrêt données relative à la boîte de dialogue Ajouter un point d'arrêt adresse ou Ajouter un point d'arrêt données.
    Remarque : Pour définir rapidement un point d'arrêt sur une ligne de code source, cliquez sur la gouttière de gauche de l'éditeur de code en regard de la ligne de code où vous voulez suspendre l'exécution.

Pour définir un point d'arrêt adresse

  1. Choisissez Exécuter > Ajouter un point d'arrêt > Point d'arrêt adresse pour afficher la boîte de dialogue Ajouter un point d'arrêt adresse.
  2. Dans le champ Adresse, entrez l'adresse en mémoire (comme $00011111) où vous voulez définir le point d'arrêt.
  3. Pour appliquer une condition au point d'arrêt adresse, entrez une expression conditionnelle dans le champ Condition. L'expression conditionnelle est évaluée à chaque rencontre du point d'arrêt et l'exécution du programme s'arrête quand l'expression est évaluée à true.
  4. Pour spécifier le déclenchement du point d'arrêt adresse seulement après un certain nombre de passes, entrez le nombre dans le champ Passes.
  5. Pour associer le point d'arrêt adresse à un groupe de points d'arrêt existant, entrez le nom du groupe dans le champ Groupe ou sélectionnez le nom d'un groupe existant dans la liste déroulante.
  6. Pour définir les options avancées, voir la rubrique d'aide Ajout d'un point d'arrêt adresse ou d'un point d'arrêt données relative à la boîte de dialogue Ajouter un point d'arrêt adresse ou Ajouter un point d'arrêt données.
Remarque : Vous pouvez aussi définir un point d'arrêt adresse dans la vue CPU ou la vue Désassemblage en cliquant dans la gouttière.

Pour définir un point d'arrêt données

  1. L'application doit s'exécuter en mode débogage (par exemple, utilisez F9, F8, F7 ou F4).
  2. Choisissez Exécuter > Ajouter un point d'arrêt > Point d'arrêt données pour afficher la boîte de dialogue Ajouter un point d'arrêt données.
  3. Dans le champ Adresse, entrez l'adresse des données devant agir en tant que point d'arrêt données.
  4. Dans le champ Longueur, spécifiez la longueur de l'opérande données constituant le point d'arrêt. Notez qu'un avertissement est affiché pour les problèmes suivants :
    • La longueur du point d'arrêt données ne doit pas traverser une frontière de paires d'octets. Un point d'arrêt données d'une longueur d'un octet n'aura pas de problème d'alignement, mais des points d'arrêt données de 2 octets et 4 octets peuvent couvrir plus ou moins d'adresses que prévu.
    • Le point d'arrêt données ne doit pas être défini sur un emplacement de pile. Le point d'arrêt peut être souvent effectif et provoquer ainsi une exécution incorrecte du programme.
  5. Pour appliquer une condition au point d'arrêt, entrez une expression conditionnelle dans le champ Condition. L'expression conditionnelle est évaluée à chaque rencontre du point d'arrêt et l'exécution du programme s'arrête quand l'expression est évaluée à True.
  6. Pour spécifier le déclenchement du point d'arrêt seulement après un certain nombre de passes, entrez le nombre dans le champ Passes.
  7. Pour associer le point d'arrêt données à un groupe de points d'arrêt existant, entrez le nom du groupe dans le champ Groupe ou sélectionnez le nom d'un groupe existant dans la liste déroulante.
  8. Pour définir les options avancées, voir la rubrique d'aide Ajout d'un point d'arrêt adresse ou d'un point d'arrêt données relative à la boîte de dialogue Ajouter un point d'arrêt adresse ou Ajouter un point d'arrêt données.

Pour définir un point d'arrêt chargement de module

  1. Choisissez Exécuter > Ajouter un point d'arrêt > Point d'arrêt chargement de module pour afficher la boîte de dialogue Ajouter un point d'arrêt chargement de module.
  2. Dans le champ Nom du module, entrez le nom de la DLL, du package ou d'un autre type de module que vous souhaitez surveiller, ou sélectionnez un nom dans la liste déroulante.
Remarque : Vous pouvez aussi utiliser la vue Modules pour définir un point d'arrêt chargement de module.

Quand le module spécifié est chargé durant l'exécution du programme, le point d'arrêt est effectif et l'exécution du programme s'interrompt.

Pour conserver les points d'arrêt de session en session

Si vous définissez l'option d'auto-enregistrement Bureau du projet, les points d'arrêt que vous définissez pour un projet persisteront de session en session.

  1. Définissez les points d'arrêt (et les points de suivi) que vous voulez conserver de session en session.
  2. Sélectionnez Outils > Options > Options d'environnement.
  3. Cochez l'option d'auto-enregistrement Bureau du projet. Quand vous quittez le produit ou fermez votre projet, vos paramètres de bureau sont enregistrés dans un fichier .dsk. Quand vous rouvrez votre projet, le produit lit le fichier .dsk et restaure votre bureau, vos points d'arrêt, vos points de suivi et vos fichiers ouverts enregistrés.

Vous devez supprimer le fichier .dsk quand vous ne voulez plus que le jeu de points d'arrêt enregistré persiste dans votre projet (ainsi que les autres éléments contrôlés par l'option d'auto-enregistrement Bureau du projet).

Pour modifier un point d'arrêt

  1. Ouvrez la fenêtre Liste des points d'arrêt en sélectionnant Voir > Fenêtres de débogage > Points d'arrêt. Cliquez avec le bouton droit sur l'icône du point d'arrêt que vous voulez modifier. Pour un point d'arrêt source, vous pouvez cliquer avec le bouton droit sur l'icône point d'arrêt dans la gouttière de l'éditeur de code et choisir Propriétés du point d'arrêt.
  2. Définissez les options de la boîte de dialogue Propriétés du point d'arrêt pour modifier le point d'arrêt. Par exemple, vous pouvez définir une condition, créer un groupe de points d'arrêt ou spécifier une action qui se produit quand l'exécution atteint le point d'arrêt.
  3. Cliquez sur Aide pour plus d'informations sur les options de la boîte de dialogue.
  4. Cliquez sur OK.

Pour créer un groupe de points d'arrêt

  1. Ouvrez la fenêtre Liste des points d'arrêt en choisissant Voir > Fenêtres de débogage > Points d'arrêt.
  2. Cliquez avec le bouton droit sur le point d'arrêt et choisissez Propriétés du point d'arrêt.
  3. Pour créer un groupe de points d'arrêt, entrez le nom du groupe dans le champ Groupe. Pour ajouter le point d'arrêt à un groupe existant, sélectionnez un nom dans la zone de liste déroulante.
  4. Cliquez sur OK.

Pour activer ou désactiver un point d'arrêt ou un groupe de points d'arrêt

  1. Cliquez avec le bouton droit sur l'icône du point d'arrêt dans l'éditeur de code ou dans la fenêtre Liste des points d'arrêt, puis choisissez Activé pour basculer entre l'état activé et l'état désactivé. Dans la fenêtre Liste des points d'arrêt, vous pouvez cocher la case située sur la gauche de l'icône.
  2. Pour activer ou désactiver tous les points d'arrêt, cliquez avec le bouton droit sur un espace vide (et non pas sur un point d'arrêt) dans la fenêtre Liste des points d'arrêt, puis choisissez Tout activer ou Tout désactiver.
  3. Pour activer ou désactiver un groupe de points d'arrêt, cliquez avec le bouton droit sur un espace vide (et non sur un point d'arrêt) dans la fenêtre Liste des points d'arrêt, puis choisissez Activer le groupe > ou Désactiver le groupe >.
Conseil : Appuyez sur la touche Ctrl tandis que vous cliquez sur un point d'arrêt dans la gouttière de l'éditeur de code pour basculer entre les états activé et désactivé.

La désactivation d'un point d'arrêt ou d'un groupe de points d'arrêt empêche la suspension du programme à cet emplacement sans pour autant supprimer les paramètres du point d'arrêt, ce qui permet de le réactiver ultérieurement.

Pour créer un point d'arrêt conditionnel

  1. Choisissez Exécuter > Ajouter un point d'arrêt et sélectionnez le type du point d'arrêt que vous voulez dans le sous-menu.
  2. Complétez les champs de la boîte de dialogue, comme décrit dans la procédure fournie plus tôt pour ce type de point d'arrêt.
  3. Dans le champ Condition, entrez une expression conditionnelle à évaluer chaque fois que ce point d'arrêt est rencontré durant l'exécution du programme. Le point d'arrêt suspend l'exécution quand l'expression est évaluée à True.
  4. Complétez les autres champs si nécessaire.
  5. Cliquez sur OK.

Les points d'arrêt conditionnels sont utiles si vous voulez voir comment se comporte votre programme quand une variable est comprise dans une certaine fourchette de valeurs, ou ce qui se produit quand un indicateur particulier est défini.

Si l'expression conditionnelle est évaluée à True (ou différent de zéro), le débogueur suspend l'exécution du programme à l'emplacement du point d'arrêt. Si l'expression est évaluée à False (ou zéro), le débogueur ne s'arrête pas à l'emplacement du point d'arrêt.

Pour définir un point d'arrêt sur un thread spécifique

  1. Choisissez Exécuter > Ajouter un point d'arrêt et sélectionnez le type du point d'arrêt que vous voulez dans le sous-menu.
  2. Complétez les champs de la boîte de dialogue, comme décrit dans la procédure fournie plus tôt pour ce type de point d'arrêt.
  3. Dans le champ Thread, entrez ou sélectionnez le numéro du thread (pour les threads numérotés) ou le nom du thread (pour les threads nommés).
  4. Complétez les autres champs si nécessaire.
  5. Cliquez sur OK.

Pour associer des actions à un point d'arrêt

  1. Sur la fenêtre Liste des points d'arrêt, cliquez avec le bouton droit sur le point d'arrêt et choisissez Propriétés du point d'arrêt.
  2. Cliquez sur Avancées pour afficher d'autres options.
  3. Cochez les actions que vous voulez provoquer lors de la rencontre du point d'arrêt. Par exemple, vous pouvez spécifier une expression à évaluer et écrire le résultat de l'évaluation dans la fenêtre Journal d'événements.
  4. Cliquez sur OK.

Pour changer la couleur du texte au point d'exécution ou la couleur des points d'arrêt

  1. Choisissez Outils > Options > Options de l'éditeur > Couleur.
  2. Dans la fenêtre de l'exemple de code, sélectionnez l'onglet de langage approprié. Par exemple, pour changer la couleur des points d'arrêt pour le code Delphi, sélectionnez l'onglet Delphi.
  3. Parcourez la fenêtre d'exemple de code pour afficher les icônes d'exécution et de point d'arrêt dans la gouttière de gauche de la fenêtre.
  4. Cliquez n'importe où sur la ligne du point d'exécution ou du point d'arrêt que vous voulez modifier.
  5. Utilisez les listes déroulantes Couleur du texte et Couleur du fond pour changer les couleurs associées au point d'exécution ou au point d'arrêt sélectionné.
  6. Cliquez sur OK.
Remarque : Vous pouvez aussi définir des points d'arrêt dans la fenêtre Liste des points d'arrêt, la fenêtre CPU (et la vue Désassemblage, la vue Pile d'appels et la fenêtre Modules.

Voir aussi

Autres langues