4D v16

Mode trace et débogage

Accueil

 
4D v16
Mode trace et débogage

Mode trace et débogage    


 

 

En complément des manipulations expliquées dans la vidéo, il faut noter que :

4D permet d'exécuter des bases interprétées ou compilées.

Dans tous les cas, je vous conseille de vérifier la syntaxe de vos développements avec le compilateur.

NB : le mode trace n'est accessible qu'avec des bases interprétées. Bien évidemment dans un base compilée/linkée on n'a pas accès au code source.
Note : Seuls les utilisateurs référencés comme développeurs (appartenant au groupe qui a accès au mode Développement) peuvent activer le mode trace.

En complément de cette approche rapide, le débogueur permet également de

  • modifier les données des champs et variables en cours d'exécution
  • mettre des points d'arrêts temporaires, des points d'arrêts conditionnels, etc.
  • exécuter du code (Attention c'est risqué)
  • afficher les numéros de tables et de champs
  • supprimer toutes les expressions affichées
  • choisir les informations qui doivent figurer dans chaque zone de l'éditeur
  • ...

La plupart des possibilités évoquées ci-dessus sont réalisables par l’intermédiaire du menu contextuel (clic droit)

Lors de l'utilisation de la commande TRACE dans le code, il est possible d'arrêter le "traçage" avec la commande  PAS DE TRACE

le Point d'arrêt est point rouge que vous placez en cliquant dans la colonne des numéros de lignes à l’endroit où vous souhaitez que 4D passe en mode trace. Il est bien sûr lié à la ligne sur laquelle il a été placé.

Il est possible de conditionner les points d'arrêt (ALT-clic lors de la création du point d'arrêt ou sur un point d'arrêt existant). Le conditionnement se fait par formule ou en fonction d'un certain nombre de passages.

Les points d'arrêt peuvent également être désactivés temporairement.

L'explorateur d'exécution permet de supprimer les points d'arrêt placés dans le code sans retourner sur les méthodes concernées

Bonjour,

dans cette vidéo nous allons apprendre à afficher et comprendre le débogueur.

Le débogueur permet de tracer et vérifier que notre programmation répond aux attentes fonctionnelles.

Il vous permettra de visualiser :

  • l'état de la mémoire
  • la valeur des variables
  • les enregistrements et sélections courantes de chacune des tables
  • voire d'exécuter du code en cours de trace.

Nous allons réutiliser le formulaire avec les variables pour découvrir le débugueur.

Je mets un point d'arrêt (nous y reviendrons) et j'affiche le formulaire.

Lorsque nous utilisons les boutons sur lequels ne figure pas de mode trace, l'exécution se passe normalement.

Si je clique sur le bouton qui contient le mode trace, le débugueur s'affiche

Nous pouvons définir 5 zones dans l'explorateur

1°) La zone de méthode : cette zone présente la méthode en cours d’exécution. On peut y réaliser plusieurs manipulations :
  • placer/enlever des points d’arrêts
  • faire glisser vers le haut ou vers le bas le curseur jaune qui indique la prochaine ligne à exécuter (donc possibilité de revenir sur du code qui a déjà été exécuté)
  • survoler un champ ou une variable pour afficher son contenu
  • cliquer sur un objet et le déplacer dans la zone d'expressions

2°) La 2è zone concerne Les boutons de navigation, nous y reviendrons plus en détail par la suite. une infobulle explique en quoi ils consistent

3°) La zone des Expression personnalisées ici

4°) La zone de toutes les expressions disponibles dans 4D (tables, champs, constantes, variables, process, etc ...)

5°)  et la chaine d'appel qui représente l'empilement des méthodes qui ont permi d'arriver au programme affiché.

Nous allons stopper l'exécution de la méthode
5 moyens permettent d'afficher volontairement le débogueur
1°) En insérant la commande TRACE dans une méthode. Automatiquement la commande TRACE a été trouvée, le débugueur s'est affiché

2°) Mettre un point d’arrêt : c'est ce que nous avions fait sur ce bouton là

3°) Durant l’utilisation du programme (en mode exécution ), en utilisant le raccourci :

  • "Alt + Maj + clic droit" sur Windows
  • ou "Commande + Alt + Ctrl + clic" sur Mac

La liste des process apparait.
Pour l'instant vous tracerez dans le Process Principal, plus tard lorsque vous aurez vu le multi-process vous pourrez choisir le process que vous souhaitez tracer.
J'ai donc choisi le process principal, si je clique sur "Déclaration", automatiquement le mode trace apparait et me permet à ce niveau là de voir le contenu de la variable POP1.
On peut donc agrandir la fenêtre du mode trace.
On peut mémoriser la position et les variables qui y sont stockées, voire modifier les valeurs directement ici. Donc si je veux modifier la valeur de v1, je peux lui mettre 300 et ici une version en anglais de la 3è phrase.
Bien évidemment si je retrace le process principal et que je valorise mon tableau, lorsque je vais repasser ici sur les lignes la 3è ligne va reprendre la valeur qui était définie à ce niveau là.
Comme je l'avais dit au départ il est possible de prendre le curseur et de le remonter pour ré-exécuter les lignes.

4°) En mode Développement, lorsque vous exécutez une méthode, cliquer sur le bouton d’exécution de la méthode et demandez “Exécuter et Déboguer” soit dans le process application soit dans un nouveau process. Dans ce cas, automatiquement le mode trace apparaît de manière à ce que nous puissions déboguer la méthode.

5°) Une dernière manière pour afficher un équivalent du mode trace est d'utiliser l’Explorateur d’exécution qui s'obtient par "Ctrl+Maj+F9". Cet explorateur d'exécution (qui bien sûr n'est accessible qu'aux seuls développeurs et personnes autorisées) permet d'afficher la liste des process, par exemple le process principal et de demander à tracer le process principal.
A partir de là lorsqu'on va cliquer sur un bouton qui exécute du code, nous verrons apparaître le mode trace avec la ligne de code qui est sur le point d'etre exécutée.

Vous disposez donc de 5 moyens en tout pour afficher le mode trace.

Les plus fréquents sont bien évidemment

  • le point d’arrêt
  • et les raccourci clavier

Le débogueur apparaîtra d'une 6è manière, le plus souvent involontairement, lorsque 4D ne peut pas exécuter votre code (erreur de syntaxe, erreur de typage, ...). Il affiche un message qui permet de passer en mode trace.

Prenons un exemple dans la méthode navigation si vous enlevons le = ici et enregistrons, à l'exécution 4D affiche une erreur et propose de tracer le code afn de nous montrer la problématique.

 
 

 
PROPRIÉTÉS 

Produit : 4D
Thème : Mode trace et débogage

 
HISTORIQUE 

 
UTILISATION DE L'ARTICLE

Autoformation ( 4D v16)