Examiner la pile.
Sébastien Granjoux
seb.sfo@free.fr
Philip Chimento
philip.chimento@gmail.com
Bruno Brouard
annoa.b@gmail.com 2009-2012
Gérard Baylard
gerard.b|@|bbox.fr 2010
Julien Hardelin
jhardlin@orange.fr 2011, 2014
Alain Lojewski
allomervan@gmail.com 2011, 2012
Mickael Albertus
mickael.albertus@gmail.com 2012

# Pile

# Affichage de la liste des cadres de pile

Un cadre de pile est une zone de la pile associée à chaque appel de fonction. Il énumère toutes les fonctions et leurs arguments dans l'ordre où ils ont été appelés. Chaque cadre de pile est numéroté en partant de 0 pour la fonction actuelle. Vous ne pouvez afficher les cadres de pile que pendant l'exécution du débogueur.

De plus, un programme peut être composé de plusieurs threads (ou fil d'exécution). Chaque thread est exécuté indépendamment et possède ses propres registres, piles et variables locales, mais partage toutes les variables globales.

Dans le menu principal, sélectionnez Affichage Pile pour ouvrir la fenêtre Pile.

Les piles s'affichent selon une arborescence avec leur thread correspondant comme parent et présentant les informations suivantes :

## Actif

On y trouve une flèche jaune qui représente le cadre de pile actif. Par défaut, c'est le cadre 0, la fonction actuelle. Toutes les évaluations et les variables locales sont relatives à ce cadre actif. Vous pouvez changer de cadre actif pour examiner les variables locales dans d'autres fonctions.

## Thread

C'est un numéro correspondant à chaque thread.

## Cadre

C'est le numéro de cadre partant de 0 pour la fonction en cours. La première fonction d'un programme, par exemple `main()` dans un programme C, possède le numéro le plus élevé.

## Fichier

Nom du fichier contenant la fonction correspondant à ce cadre.

## Ligne

Numéro de ligne de la fonction correspondant à ce cadre.

## Fonction

Nom de la fonction correspondant à ce cadre.

## Adresse

Adresse de la fonction correspondant à ce cadre.

## Paramètres

Les paramètres de la fonction.

# Changement de cadre de pile ou de thread actif

Dans la fenêtre Pile, sélectionnez le cadre voulu.

Faites un clic droit et sélectionnez Définir le cadre actuel.

Le fait de cliquer sur un cadre de pile dans le même thread ne modifie que ce cadre de pile, permettant de voir les autres variables locales. Mais faire cela dans un autre thread modifie à la fois le cadre de pile et le thread sélectionné. Les valeurs des registres sont différentes et le débogueur redémarrera dans le thread sélectionné.

# Affichage de la fonction actuelle

Dans la fenêtre Pile, sélectionnez le cadre voulu.

Faites un double clic, ou un clic droit et sélectionnez Afficher le code source.

# Obtention d'une trace de la pile

Dans la fenêtre Pile, faites un clic droit et sélectionnezObtenir la trace de la pile.