Difference between revisions of "IDE Window: Call Stack/fr"

From Free Pascal wiki
Jump to navigationJump to search
(New page: Call StackCall Stack {{IDE Window: Call Stack}} == Important == You must setup the debugger and start the project to debug it. On...)
 
 
(17 intermediate revisions by one other user not shown)
Line 1: Line 1:
[[category:IDE Window|Call Stack]][[category:IDE Window - Debug|Call Stack]]
 
 
{{IDE Window: Call Stack}}
 
{{IDE Window: Call Stack}}
  
 
== Important ==  
 
== Important ==  
  
You must setup the debugger and start the project to debug it. Only then the call stack is useful.  
+
Vous devez paramétrer le débogueur et lancer le projet pour le déboguer. Seulement alors la pile d'appel est utile .  
The output shown on this page is based on the GNU debugger, GDB and may look like C. Other debuggers may show a more pascal style. Currently only the only debugger supported is GDB.
+
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.
  
== Dialog ==
+
== Boite de dialogue ==
<center>[[Image:Callstack.png]]</center>
+
<center>[[Image:PileAppel.png]]</center>
  
=== What is the call stack? ===  
+
=== Qu'est ce que la pile d'appel? ===  
  
The call stack is the stack of function calls. The top line is the current function, the lowest line is the main program.
+
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 ===
 
=== Source ===
  
This is the filename of the source. This information is retrieved from the debugging information contained in the executable. Only those parts of the program compiled with debugger information contains such information.
+
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 .
  
=== Line ===
+
=== Ligne ===
  
If the position contains debugger information, the source line will be shown, otherwise only the address pointer in the executable is shown. This line is where the next function was called.
+
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''': The line is the line at compile time. If you inserted/deleted lines, they will not be accurate.
+
'''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.
  
=== Function ===
+
=== Fonction ===
  
The mangled name of the procedure/function.
+
Le nom mutilé de la procedure/fonction.
The compiler converts the pascal identifiers into names, useable by the gnu tools. For example:
+
Le compilateur convertit les identificateurs pascal en noms, utilisables par les outils gnu. Par exemple :
  
 
   TAPPLICATION__CREATEFORM(0x81fb738, void, (^TAPPLICATION) 0xb7cd0014)
 
   TAPPLICATION__CREATEFORM(0x81fb738, void, (^TAPPLICATION) 0xb7cd0014)
  
This means:
+
Ceci signifie :
  
* The mangled function name is TAPPLICATION__CREATEFORM, which is the TApplication.CreateForm procedure of the LCL unit forms.pp. Because pascal is case insensitive and the gnu tools are case sensitive, FPC converts the name to uppercase. Because the gnu tools don't know classes and objects, the ''class.method'' is converted to a global function name.
+
* 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.
* Then parameter list depends on the platform and the calling convention. That means the parameter list can be reversed, starting with the rightmost parameter. This is the case in the above example.
+
* 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 .
* The 'Self' parameter is implicit. That means, you don't write it in the pascal source, and FPC creates it automatically. This is always the first parameter. Because of the reverse order, it is shown as the last parameter. It is of type ^TAPPLICATION and its hexadecimal value is 0xb7cd0014.
+
* 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.
* The next parameter in pascal is 'var Reference', which has no type. Therefore it is 'void'.
+
* Le prochain paramètre en Pascal est 'var Reference', qui n'a aucun type. Par conséquent c'est  'void'.
* The last parameter in pascal is 'InstanceClass: TComponentClass'. The parameter is on gnu level just a pointer and has the hexadecimal value 0x81fb738.
+
* 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.
  
=== Tricks ===
+
=== Astuces ===
  
Double click on an item to jump to the source.
+
Double cliquez sur un item pour basculer vers le code source .
  
== Popup menu ==
+
== Menu surgissant  ==
  
<center>[[Image:Callstack_popmenu.png]]</center>
+
[[Image:MenuSurgissantPile.png|center]]
  
=== Show ===
+
=== Montrer ===
  
Jump to the source postion of the current item.
+
Bascule à la position du code source de l'item en cours.
  
=== Set as current ===
+
=== Fixe comme l'armature en cours ===
  
(not implemented)
+
(non implémenté)
Set the selected entry as the current frame. Local variables are only known within a frame. By setting the current frame, you can watch the values of variables in the context of the procedure you have selected.
+
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.
  
=== Copy all ===
+
=== Copier tout  ===
  
Copy the call stack to the clipboard.
+
Copie la pile d'appel vers le presse-papiers .

Latest revision as of 15:12, 1 July 2015

Deutsch (de) English (en) français (fr) русский (ru)

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 .