IDE Window: Call Stack/fr

From Free Pascal wiki

Deutsch (de) English (en) français (fr)

Important

Vous devez paramétrer le débogueur et lancer le projet pour le déboguer. Seulement alors la pile d'appel est utile . L'écran de sortie montré sur cette page est basé sur le débogueur GNU, GDB et peut ressembler à du C. D'autres débogueurs peuvent avoir un style qui se rapproche plus du Pascal . Actuellement, le seul débogueur supporté est GDB.

Boite de dialogue

PileAppel.png

Qu'est ce que la pile d'appel?

La pile d'appel est la pile des appels de fonction.La ligne supérieure est la fonction en cours, la plus basse ligne est le programme principal .

Source

C'est le nom de fichier de la source. Cette information est recherchée à partir de l'information de déboguage contenu dans l'exécutable. Seules ces parties du programme compilées avec l'information du deboggueur, contiennent une telle information .

Ligne

Si la position contient l'information de débogage, La ligne du code source sera montrée, autrement seulement un pointeur d'adresse dans l'exécutable est montré. Cette ligne est l'endroit où la prochaine fonction est appelée .

Note: La ligne est la ligne au moment de la compilation. Si vous insérez/effacez des lignes, les informations ne seront plus précises.

Fonction

Le nom mutilé de la procedure/fonction. Le compilateur convertit les identificateurs pascal en noms, utilisables par les outils gnu. Par exemple :

 TAPPLICATION__CREATEFORM(0x81fb738, void, (^TAPPLICATION) 0xb7cd0014)

Ceci signifie :

  • Le nom mutilé de la fonction est TAPPLICATION__CREATEFORM, qui est la procédure TApplication.CreateForm de l'unité forms.pp de la bibliothèque LCL. Puisque le Pascal n'est pas sensible à la casse et les outils gnu sont sensibles à la casse, FPC convertit le nom en majuscule. Puisque les outils gnu ne connaissent pas les classes et les objets, la class.method est converti en nom de fonction global.
  • Ensuite la liste de paramètres dépend de la plate-forme et de la convention d'appel. Cela signifie que la liste de paramètres peut être renversée , commençant par le paramètre le plus à droite. C'est le cas dans l'exemple ci-dessus .
  • Le paramètre 'Self' est implicite . Cela signifie que, vous ne l'écrivez pas dans le code source pascal, et FPC le crée automatiquement. C'est toujours le premier paramètre. En raison de l'ordre inversé, il est montré en tant que dernier paramètre. Il est de type ^TAPPLICATION et sa valeur hexadécimale est 0xb7cd0014.
  • Le prochain paramètre en Pascal est 'var Reference', qui n'a aucun type. Par conséquent c'est 'void'.
  • Le dernier paramètre en Pascal est 'InstanceClass: TComponentClass'. Le paramètre est au niveau de gnu juste un pointeur et a la valeur hexadécimale 0x81fb738.

Astuces

Double cliquez sur un item pour basculer vers le code source .

Menu surgissant

MenuSurgissantPile.png

Montrer

Bascule à la position du code source de l'item en cours.

Fixe comme l'armature en cours

(non implémenté) Fixe l'entrée sélectionnée comme l'armature(frame) en cours. Les variables locales sont seulement connues à l'intérieur de l'armature. En fixant l'armature en cours, vous pouvez observer les valeurs des variables dans le contexte de la procédure que vous avez choisi.

Copier tout

Copie la pile d'appel vers le presse-papiers .