Fenêtre d'évaluation des méthodes

4D - Documentation   Français   English   German   4e Dimension, Commandes par thèmes   4e Dimension, Liste alphabétique des commandes   4e Dimension, Constantes par thèmes   Retour   Précédent   Suivant

version 6.5 (Modifiée)


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'évaluation l'expression ou l'objet sélectionné. Vous disposez de trois solutions :

par simple glisser-déposer : cliquez sur le texte sélectionné, faites-le glisser et relâchez-le dans la zone d'évaluation.

cliquer sur le texte sélectionné tout en maintenant enfoncée la touche Ctrl (Windows) ou Commande (Mac OS).

utiliser la combinaison de touches Ctrl+D (Windows) ou Commande+D (Mac OS).

Compteur de programme


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.

Définir des points d'arrêt dans le débogueur


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.

Par exemple, 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.

Un point d'arrêt rouge est un point d'arrêt persistant. Une fois que vous l'avez créé, il reste, 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.

Référence

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


4D - Documentation   Français   English   German   4e Dimension, Commandes par thèmes   4e Dimension, Liste alphabétique des commandes   4e Dimension, Constantes par thèmes   Retour   Précédent   Suivant