Points d'arrêt conditionnels

Les paramètres de points d'arrêt en option permettent de contrôler le comportement des points d'arrêt.

Lorsque vous définissez un point d'arrêt, vous pouvez le rendre conditionnel (qu'il s'arrête ou non) en définissant les paramètres suivants dans la page Paramètres facultatifs de n'importe quel assistant de point d'arrêt (en général en modifiant un point d'arrêt existant) :

Paramètre de points d'arrêt en option Description Type de point d'arrêt pris en charge
Unité d'exécution

Certains points d'arrêt s'appliquent à une seule unité d'exécution. Dans l'assistant, vous pouvez indiquer si le point d'arrêt s'applique à toutes les unités d'exécution (option par défaut) ou à une seule (n=un).

Ce paramètre est pris en charge par tous les types de points d'arrêt.
Fréquence Les contrôles Fréquence permettent d'indiquer au débogueur quand observer un point d'arrêt et quand l'ignorer. Le débogueur conserve la trace des rencontres successives de chaque point d'arrêt. Les zones de ce groupe permettent d'indiquer au débogueur lors de quelle rencontre du point d'arrêt il doit observer son premier arrêt, suivant quelle fréquence il doit ensuite marquer des arrêts et au-delà de quel nombre de rencontres il ne doit plus tenir compte du point d'arrêt.

La fréquence du point d'arrêt est définie par les paramètres suivants :

  • De : Indiquez le premier point d'arrêt sur lequel le débogueur doit s'arrêter. Par exemple, si vous voulez que le débogueur ignore le point d'arrêt les cinq premières fois qu'il le rencontre, entrez le chiffre "6".
  • A : Indiquez le dernier point d'arrêt sur lequel le débogueur doit s'arrêter. Par exemple, si vous voulez que le débogueur ignore le point d'arrêt au-delà de sa vingtième rencontre, entrez le chiffre "20". Pour qu'il continue indéfiniment à observer ce point d'arrêt, choisissez "Infini".
  • Tous : Indiquez à quelle fréquence le point d'arrêt doit être observé par le débogueur. Par exemple, si vous voulez qu'il soit observé une rencontre sur quatre, entrez le chiffre "4".
Ce paramètre est pris en charge par tous les types de points d'arrêt.
Expression Vous pouvez entrer une expression dans cette zone. L'exécution du programme s'interrompra au point d'arrêt considéré uniquement si la condition énoncée dans cette zone est remplie (toutes les valeurs différentes de zéro sont considérées comme vraies).

Par exemple, si vous déboguez un programme C++, vous pouvez entrer l'expression suivante :

(i==1) || (j==k) && (k!=5)

Une expression conditionnelle est une expression valide dans le langage de l'emplacement du point d'arrêt et qui donne un nombre pour résultat, ne comporte aucun effet secondaire et n'implique aucun appel de fonction. Pour les langages C et C++, tous les opérateurs d'affectation, d'incrémentation et de décrémentation (++ et --) sont interdits.

Avertissement : Même si les applications ne semblent pas s'arrêter à un point d'arrêt dont la condition n'a pas été respectée, le débogueur la suspend provisoirement pendant qu'il évalue la condition. Cette petite pause n'a généralement pas de répercussions importantes. Cependant, dans une application comportant plusieurs unités d'exécution, cette situation peut amener le système d'exploitation à modifier l'ordre de répartition des unités d'exécution.
Remarque :
  • Lors du débogage de programmes en COBOL pour AIX, la condition de relation est la seule à être prise en charge, avec les opérateurs suivants :

    >, <, =, >=, <=, NOT >, NOT <, NOT =

  • L'opérande de gauche doit être une variable et celui de droite doit être une constante. Par exemple, var1 > 5 est valide, mais pas 5 < var1 ni var1 > var2.
  • La constante hexadécimale est autorisée uniquement avec les variables POINTER.
  • Les variables non numériques et les variables externes en virgule flottante doivent être comparées à un littéral non numérique.
  • Les variables en format décimal étendu doivent être comparées à une constante numérique.
  • Les conditions complexes et les comparaisons de groupes ne sont pas autorisées.
  • La comparaison est basée sur l'environnement local, indépendamment de toute option de compilation COLLSEQ ou de toute spécification de séquence de classement au sein du programme.
  • Pour le débogage de programmes écrits en PL/I pour AIX, voir Expressions PL/I prises en charges.
Ligne, Entrée et Adresse.

Commentaires en retour