4D v16.3

Fenêtre d'expression

Accueil

 
4D v16.3
Fenêtre d'expression

Fenêtre d'expression  


 

 

La Fenêtre d’expression est située en haut à gauche de la fenêtre du débogueur, sous la barre d’outils de contrôle d’exécution :

La Fenêtre d'expression affiche toutes les informations générales utiles sur l'environnement système, 4D et l’exécution du code.

La colonne Expression affiche le nom des objets et des expressions. La colonne Valeur affiche la valeur courante correspondant aux objets et expressions.

En cliquant sur une valeur dans la colonne de droite, vous pouvez modifier la valeur de l’objet, si cela est possible pour cet objet.

La liste hiérarchique multi-niveaux est organisée par thèmes au niveau supérieur. Les thèmes sont les suivants :

  • Objets courants
  • Variables
  • Valeurs du formulaire courant
  • Constantes
  • Sémaphores
  • Process
  • Tables & champs
  • Ensembles
  • Sélections temporaires
  • Informations
  • Web

En fonction du thème, chaque article peut disposer d'un ou de plusieurs sous-niveaux. Pour déployer ou fermer chaque thème, il suffit de cliquer sur l’icône de déploiement située en face de son libellé. Si le thème comprend plusieurs niveaux d’information, il suffit de cliquer sur chaque icône pour explorer toutes les informations qu'il contient.

A tout moment, vous pouvez faire glisser un thème, un sous-thème ou un article, et le déposer dans la Fenêtre d'évaluation.

Ce thème affiche les valeurs des objets ou des expressions évaluables :

  • utilisé(e)s dans la ligne de code à exécuter (celle qui est indiquée par le compteur de programme — la flèche jaune dans la Fenêtre d'évaluation des méthodes),
  • utilisé(e)s dans la ligne de code précédente.

Comme la ligne de code précédente est celle qui vient d’être exécutée, le thème Objets courants affiche donc de manière permanente les objets ou expressions de la ligne courante avant et après l’exécution de la ligne. Prenons l’exécution de la méthode suivante :

 TRACE
 a:=1
 b:=a+1
 c:=a+b
  ` ...

1. Vous entrez dans la fenêtre du débogueur avec le compteur de programme de la Fenêtre d'évaluation des méthodes placé à la ligne a:=1. A ce point précis, le thème Objets courants affiche :

a:Indéfini


La variable a est affichée car elle est utilisée dans la ligne qui est sur le point d'être exécutée (mais elle n’a pas encore été initialisée).

2. Vous progressez d’une ligne. Le compteur de programme est maintenant positionné sur la ligne b:=a+1. A ce point, le thème Objets courants affiche :

a:1
b:Indéfini


La variable a s’affiche car elle est utilisée dans la ligne qui vient de s’exécuter, et qu’on lui avait assigné la valeur numérique 1. Elle s’affiche aussi parce qu’elle est utilisée dans la ligne qui sera exécutée, en tant qu'expression qui sera assignée à la variable b. La variable b s’affiche car elle est utilisée dans la ligne qui doit être exécutée (mais elle n’a pas encore été initialisée).

3. Vous progressez encore d’une ligne. Le compteur de programme est maintenant positionné sur la ligne c:=a+b. A ce point, le thème Objets courants affiche :

c:Indéfini
a:1
b:2


La variable c s’affiche car elle est utilisée dans la ligne à exécuter (mais elle n’a pas encore été initialisée). Les variables a et b sont affichées car elles étaient utilisées dans la ligne précédente et qu’elles le sont dans la ligne qui sera exécutée, etc.

Ce thème est extrêment pratique : chaque fois que vous exécutez une ligne, vous n’avez pas besoin de saisir une expression dans la fenêtre d’évaluation. Il vous suffit de surveiller les valeurs affichées par le thème Objets courants.

Ce thème se décompose en sous-thèmes :

  • Interprocess : affiche la liste des variables interprocess en cours d'utilisation. Si vous n’utilisez pas de variable interprocess, la liste est vide. La valeur des variables interprocess peut être modifiée.
  • Process : affiche la liste des variables process utilisées par le process courant. Cette liste est rarement vide. La valeur des variables process peut être modifiée.
  • Locales : affiche la liste des variables locales utilisées par la méthode indiquée dans la sous-fenêtre d’évaluation de méthode. Cette liste peut être vide si aucune variable locale n’est utilisée ou si elles n’ont pas encore été créées. La valeur des variables locales peut être modifiée.
  • Paramètres : affiche la liste des paramètres reçus par la méthode. Cette liste peut être vide si aucun paramètre n’a été passé à la méthode tracée. La valeur des paramètres peut être modifiée.
  • Self Pointeur : affiche un pointeur vers l’objet courant si vous tracez une méthode objet. Cette valeur n’est pas modifiable.

Note : Vous pouvez modifier les variables et les champs de type Chaîne, Texte, numérique (Entier, Entier long, Réel), Date et Heure, c'est-à-dire les variables et les champs dont la valeur peut être saisie au clavier. Pour le type Entier vous pouvez utiliser indifféremment la notation décimale ou hexadécimale (par exemple, pour 256, vous pouvez taper ‘256’ ou ‘0x100’).

Les tableaux, comme les autres variables, apparaissent dans les sous-thèmes Interprocess, Process et Locales, en fonction de leur portée. Le débogueur affiche chaque tableau avec un niveau hiérarchique supplémentaire, ce qui vous permet d’obtenir ou de modifier les valeurs des éléments du tableau, s’il y en a. Le débogueur affiche les 100 premiers éléments (y compris l’élément zéro). La colonne Valeur affiche la taille du tableau en face de son nom. Une fois que vous avez déployé le tableau, le premier sous-article affiche le numéro de l’élément sélectionné courant, ensuite l’élément zéro, ensuite les autres éléments (jusqu’à 100) s’il y en a. Vous pouvez modifier les tableaux Alpha, Texte, Numérique et Date. Vous pouvez modifier le numéro de l’élément sélectionné, l’élément zéro et les autres éléments (jusqu’à 100) s’il y en a. Vous ne pouvez pas modifier la taille du tableau.

Note : A tout moment, vous pouvez glisser un article à partir de la Watch Pane vers la Fenêtre d'évaluation, y compris un élément de tableau.

Ce thème contient le nom de chaque objet dynamique présent dans le formulaire courant, ainsi que la valeur de sa variable associée :

Certains objets, comme les list box tableaux, peuvent être représentés sous forme de deux objets (la variable de l'objet lui-même et sa source de données).

Cette liste est particulièrement utile lorsque votre formulaire utilise de nombreuses variables dynamiques : il est alors facile d'identifier les variables dynamiques par l'intermédiaire de leurs noms d'objets. Vous pouvez afficher le nom interne des variables dynamiques en sélectionnant la commande Montrer les types dans le menu contextuel :

Les noms des variables dynamiques sont de la forme "$form.4B9.42" :

Ce thème affiche les constantes prédéfinies dans 4D, comme dans la page Constantes de la fenêtre de l’Explorateur. Les expressions de ce thème ne peuvent pas être modifiées.

Ce thème affiche la liste des tables et des champs dans la base de données (à l’exception des sous-champs). Pour chaque table, la colonne Valeur affiche la taille de la sélection courante pour le process courant ainsi que (lorsque la ligne de la table est déployée) le nombre d'enregistrements verrouillés. Pour chaque champ, la colonne Valeur affiche la valeur du champ (à l’exception des images, sous-tables et BLOBs) pour l’enregistrement courant, s'il existe. Dans ce thème, les valeurs des champs peuvent être modifiées (notez qu'il n’y a alors pas d’annulation possible) mais pas celles de la table.

Ce thème affiche la liste des sémaphores locaux dans les ensembles courants. Pour chaque sémaphore, la colonne Valeurs affiche le nom du process ayant posé le sémaphore. Si vous n’utilisez pas de sémaphore, la liste peut être vide. Les expressions de ce thème ne peuvent pas être modifiées. Il n'est pas possible de visualiser les sémaphores globaux.

Ce thème affiche la liste des ensembles définis dans le process courant (celui que vous êtes en train de tracer) ainsi que la liste des ensembles interprocess. La colonne Valeur affiche, pour chaque ensemble, le nombre d’enregistrements et le nom de la table. Si vous n’utilisez pas les ensembles, cette liste sera vide. Les expressions de ce thème ne peuvent pas être modifiées.

Process  

Ce thème affiche la liste des process lancés depuis le début de la session de travail. La colonne Valeur affiche le temps déjà alloué à chaque process ainsi que son état (par exemple "En cours d’exécution", "Endormi", etc). Les expressions de ce thème ne peuvent pas être modifiées.

Ce thème affiche la liste des sélections temporaires process définies dans le process courant (celui que vous êtes en train de tracer) ainsi que la liste des sélections temporaires interprocess. Pour chaque sélection temporaire, la colonne Valeur affiche le nombre d’enregistrements et le nom de la table. Si vous n’utilisez pas les sélections temporaires, cette liste sera vide. Les expressions de ce thème ne peuvent pas être modifiées.

Ce thème affiche des informations générales relatives au fonctionnement de la base, telles que la table par défaut courante (s’il y en a une), la mémoire physique, virtuelle, libre, occupée, la destination de recherche, etc. Ces informations permettent d'étudier le fonctionnement de la base.

Web  

Ce thème affiche des informations relatives au serveur Web de l’application (informations disponibles uniquement si le serveur Web est actif) :

  • Fichier Web à envoyer : nom du fichier Web en attente d'envoi (le cas échéant)
  • Occupation du cache Web : nombre de pages présentes dans le cache Web et pourcentage d’utilisation,
  • Temps d’activité du serveur Web : durée de fonctionnement au format heures:minutes:secondes du serveur Web
  • Nombre de requêtes http : nombre total de requêtes HTTP reçues depuis le démarrage du serveur Web, ainsi que nombre instantané de requêtes par seconde
  • Nombre de process Web actifs : nombre de process Web actifs, tous types de process Web confondus. 

Les expressions contenues dans ce thème ne peuvent pas être modifiées.

Le menu contextuel de la fenêtre d’expression vous propose des options supplémentaires. Pour afficher ce menu il vous suffit de :

  • Sous Windows, cliquer n’importe où dans la fenêtre d’expression avec le bouton droit de la souris
  • Sous Mac OS, utiliser la combinaison Control+clic n’importe où dans la fenêtre d’expression.

Voici le menu contextuel de la fenêtre d’expression :

  • Contracter : Contracte tous les niveaux de la liste hiérarchique des expressions.
  • Déployer : Déploie tous les niveaux de la liste hiérarchique des expressions.
  • Montrer les types : Lorsque vous sélectionnez cette option, le type de l’objet s’affiche en face de l’objet (lorsque cela est pertinent).
  • Montrer le numéro de champ et de table : Si vous travaillez avec le numéro des tables ou de champs, ou avec des pointeurs utilisant les commandes Table ou Field, cette option est très pratique : en face de chaque table et champ, elle affiche le numéro de la table ou du champ.
  • Montrer les icônes : Chaque objet est précédé d'une icône qui indique son type. Vous pouvez désactiver cette option pour accélérer l’affichage, ou tout simplement parce que l’option Montrer les types vous convient.
  • Tables et champs triés : Cette option force les tables et les champs à s’afficher par ordre alphabétique (dans leurs listes respectives).
  • Afficher les entiers en hexadécimal : Les nombres s’affichent en notation décimale. Sélectionnez cette option pour les afficher en hexadécimal. Note : Pour exprimer une valeur numérique en hexadécimal, saisissez 0x (zéro + "x") puis les caractères hexadécimaux.
  • Activer le suivi d'activité : Active le suivi d'activité (contrôle avancé de l'activité interne de l'application) et affiche les informations collectées dans des thèmes supplémentaires, Séquenceur, Web et Réseau.

Ci-dessous, la fenêtre d’expression telle qu’elle se présente lorsque vous sélectionnez toutes les options :



Voir aussi  

Débogueur
Fenêtre d'évaluation
Fenêtre d'évaluation des méthodes
Fenêtre de chaîne d'appel
Raccourcis du débogueur

 
PROPRIÉTÉS 

Produit : 4D
Thème : Débogueur

 
HISTORIQUE 

 
UTILISATION DE L'ARTICLE

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