4D v16.3

Fenêtre d'évaluation des méthodes

Accueil

 
4D v16.3
Fenêtre d'évaluation des méthodes

Fenêtre d'évaluation des méthodes  


 

 

La Fenêtre d'évaluation des méthodes affiche le code source de la méthode en train d'être tracée.

  • Si la méthode est trop longue pour tenir dans la zone de texte, vous pouvez la faire défiler.
  • Lorsque vous positionnez le pointeur de la souris au-dessus d'une expression qui peut être évaluée (champ, variable, pointeur, tableau,...) le débogueur affiche une Info-bulle qui indique la valeur courante de l’objet ou de l’expression, et son type déclaré. Par exemple :

Une info-bulle apparaît lorsque le pointeur de la souris est positionné sur la variable <>vDate. Dans cet exemple, c'est une variable de type date contenant la valeur suivante : 10/03/97.

  • Vous pouvez également sélectionner une portion de texte dans la zone affichant le code en cours d’exécution. Dans ce cas, lorsque le curseur de la souris est placé au-dessus du texte sélectionné, l'info-bulle fournit la valeur de la sélection :

Lorsque vous cliquez sur un nom de variable ou de champ, il est automatiquement sélectionné.

Astuce : Vous pouvez copier instantanément dans la Fenêtre d'évaluationl’expression ou l’objet sélectionné. Vous disposez de deux possibilités :

  • par simple glisser-déposer : cliquez sur le texte sélectionné, faites-le glisser et relâchez-le dans la zone d’évaluation.
  • utiliser la combinaison de touches Ctrl+D (Windows) ou Commande+D (Mac OS).

Une flèche jaune, dans la marge gauche de la fenêtre d’évaluation des méthodes (voir illustration ci-dessus) indique la prochaine ligne à être exécutée. Cette flèche s’appelle le compteur de programme. Elle indique toujours la ligne sur le point d’être exécutée.

Pendant le débogage, vous pouvez déplacer le compteur de programme. Il vous suffit de cliquer sur la flèche jaune et de la faire glisser devant la ligne que vous désirez.

ATTENTION : Utilisez cette fonction avec précaution ! Déplacer vers l’avant le compteur de programme ne signifie pas que le débogueur exécute en même temps les lignes sur lesquelles vous passez. De la même manière, le faire remonter ne signifie pas que le débogueur inverse l’effet des lignes qui ont déjà été exécutées.

Lorsque vous déplacez le compteur de programme, vous indiquez simplement au débogueur de “continuer à tracer et exécuter à partir de cet endroit ”. Tous les paramètres, champs, variables, etc. courants, ne sont pas affectés par le déplacement.

Voici un exemple de déplacement du compteur de programme. Imaginons que vous êtes en train de déboguer le code suivant :

  ` ...
 Si(Cette condition)
    FAIRE QUELQUE CHOSE
 Sinon
    FAIRE AUTRE CHOSE
 Fin de si

Le compteur de programme est placé à la ligne Si(Cette condition). Vous avancez d’un pas, et voyez que le compteur se place à la ligne FAIRE AUTRE CHOSE. Pas de chance, car vous vouliez en fait exécuter la première partie de l’alternative. Dans ce cas, et dans la mesure où l’expression Cette condition n’effectue pas d'opérations affectant les étapes suivantes de votre test, remontez le compteur à la ligne FAIRE QUELQUE CHOSE, et vous êtes prêt à continuer à tracer la portion de code qui vous intéresse.

Pendant le débogage, vous pouvez avoir besoin de sauter certaines portions de votre code. Le débogueur vous permet d’utiliser plusieurs méthodes pour exécuter votre code jusqu’à un certain point :

  • Pendant que vous exécutez au pas à pas, vous pouvez cliquer sur le bouton Exécuter pas à pas au lieu de Pas à pas détaillé, lorsque vous ne voulez pas entrer dans les éventuelles sous-routines ou fonctions appelées dans la ligne du compteur de programme.
  • Si vous entrez par erreur dans une sous-routine, vous pouvez l’exécuter et revenir directement à la méthode appelante en cliquant sur le bouton Exécuter et sortir.
  • Si vous appelez la commande TRACE quelque part, vous pouvez cliquer sur le bouton Pas de Trace pour reprendre l’exécution jusqu’à cet appel TRACE.

Maintenant, imaginons que vous soyez en train d’exécuter le code suivant. Le compteur de programme est placé devant la ligne TOUT SELECTIONNER ([CetteTable]) :

  //...
 TOUT SELECTIONNER([CetteTable])
 $vrResult:=0
 Boucle($vlEnregist;1;Enregistrements trouves([CetteTable]))
    $vrResult:=CetteaFonction([CetteTable])
    ENREGISTREMENT SUIVANT([CetteTable])
 Fin de boucle
 Si($vrResult>=$vrLimiteVal)
  // ...

Vous voulez évaluer la valeur de $vrResult à la fin de la boucle Boucle. Comme cela peut prendre un certain temps d’exécution pour atteindre cette portion de votre code, vous voulez abandonner l’exécution courante puis éditer la méthode pour insérer un appel TRACE avant la ligne Si ($vrResult...

Vous pourriez aussi exécuter la boucle, mais si la table [CetteTable] contient plusieurs centaines d’enregistrements, cette opération vous prendra la journée. Pour éviter des situations de ce type, le débogueur met à votre disposition des points d’arrêt. Vous insérez des points d'arrêt en cliquant dans la marge gauche de la fenêtre d'évaluation des méthodes.
Par exemple, vous cliquez dans la marge gauche de la fenêtre, au niveau de la ligne Si ($vrResult... :

Vous insérez un point d’arrêt à la ligne marquée par un point rouge. Ensuite, vous cliquez sur le bouton Pas de Trace.
Vous reprenez l’exécution normale jusqu’à la ligne marquée par le point d’arrêt. Cette ligne n’est pas exécutée : vous êtes revenu au mode Trace. Dans cet exemple, toute la boucle a été exécutée normalement, et, une fois arrivé au point d’arrêt, il vous suffit de placer le curseur de la souris au-dessus de vrResult pour évaluer sa valeur à la sortie de la boucle.
Si vous placez un point d’arrêt au-delà du compteur de programme et que vous cliquez sur le bouton Pas de Trace, vous éviterez de tracer des parties de la méthode.

Note : Vous pouvez également définir des points d'arrêt directement dans l'éditeur de méthodes de 4D. Reportez-vous à la section Points d'arrêt.

Une fois que vous avez ajouté un point d'arrêt, il reste associé à la méthode, même lorsque vous quittez la base et la réouvrez par la suite. Pour le supprimer, vous pouvez procéder d'une des manières suivantes :

  • Si vous avez fini de l’utiliser, cliquez dessus, et le point d’arrêt disparaît.
  • Si vous n’avez pas fini de l’utiliser, mais que vous voulez le désactiver provisoirement, il vous faut l’éditer. Reportez-vous pour ceci à la section Points d'arrêt.

Le menu contextuel de la Fenêtre d'évaluation des méthodes donne accès à plusieurs fonctions utiles en phase d’exécution des méthodes en mode Trace :

  • Aller à définition : permet d’accéder à la définition de l’objet sélectionné. Cette commande est disponible avec les objets suivants :
    • méthode projet : affiche le contenu de la méthode dans une nouvelle fenêtre de l’éditeur de méthodes.
    • champ : affiche les propriétés du champ dans l’inspecteur de la fenêtre de structure,
    • table : affiche les propriétés de la table dans l’inspecteur de la fenêtre de structure,
    • formulaire : affiche le formulaire dans l’éditeur de formulaires,
    • variable (locale, process, interprocess ou paramètre $n) : affiche la ligne de déclaration de la variable dans la méthode courante ou parmi les méthodes compilateur.
  • Chercher les références : cette fonction est également accessible depuis l’éditeur de méthodes. Elle permet de rechercher tous les objets de la base (méthodes et formulaires) dans lesquels l’élément courant de la méthode est référencé. L’élément courant est l’élément sélectionné ou l’élément dans lequel se trouve le curseur. Il peut s’agir d’un nom de champ, de variable, de commande, d’une chaîne, etc. Le résultat de la recherche est affiché dans une nouvelle fenêtre de résultat standard.
  • Exécuter jusqu’au curseur : provoque l’exécution des instructions situées entre le compteur de programme (flèche jaune) et la ligne sélectionnée de la méthode (dans laquelle se trouve le curseur).
  • Fixer prochaine instruction : déplace le compteur de programme jusqu’à la ligne sélectionnée sans l’exécuter et sans exécuter les lignes intermédiaires. La ligne désignée ne sera exécutée que si l’utilisateur clique sur l’un des boutons d’exécution.
  • Permuter point d’arrêt : cette fonction est également accessible depuis l’éditeur de méthodes. Elle permet alternativement d’insérer ou de supprimer le point d’arrêt correspondant la ligne sélectionnée. Cette fonction modifie le point d’arrêt de façon permanente : par exemple, un point d’arrêt supprimé dans le débogueur n’apparaît plus dans la méthode d’origine.
  • Modifier point d’arrêt... : cette fonction est également accessible depuis l’éditeur de méthodes. Elle permet d’afficher la boîte de dialogue de définition des Propriétés du point d’arrêt. Cette fonction modifie le point d’arrêt de façon permanente.



Voir aussi  

Débogueur
Fenêtre d'évaluation
Fenêtre d'expression
Fenêtre de chaîne d'appel
Points d'arrêt

 
PROPRIÉTÉS 

Produit : 4D
Thème : Débogueur
Nom intl. : Source Code Pane

 
HISTORIQUE 

 
MOTS-CLÉS 

debugger source code pane

 
UTILISATION DE L'ARTICLE

4D - Langage ( 4D v16)
4D - Langage ( 4D v16.1)
4D - Langage ( 4D v16.2)
4D - Langage ( 4D v16.3)