Jak zkoumat zásobník.
Sébastien Granjoux
seb.sfo@free.fr
Philip Chimento
philip.chimento@gmail.com

# Zásobník

# Vypsání rámců zásobníku

Rámce zásobníku jsou oblasti na zásobníku související s jednotlivými voláními funkcí. Poskytují tak seznam všech funkcí a jejich argumentů v pořadí, v jakém byly volány. Každý rámec má přiděleno číslo počínaje od 0 pro aktuální funkci. Rámce zásobníku si můžete prohlížet jen když běží ladicí program.

Navíc se program může skládat z několika vláken. Každé vlákno běží nezávisle a má své vlastní registry, zásobník a lokální proměnné, ale sdílí globální proměnné.

V hlavní nabídce vyberte Zobrazit Zásobník pro otevření okna Zásobník.

Zásobník je zobrazen v podobě stromu, ve kterém jsou vlákna rodiči, a zobrazují se následující údaje:

## Aktivní

Obsahuje žlutou šipku, která představuje aktivní rámec zásobníku. Jako výchozí to bývá rámec 0, což je aktuální funkce. Veškerá vyhodnocování a lokální proměnné se vztahují relativně k tomuto rámci. Abyste mohli zkoumat lokální proměnné v jiné funkci, můžete aktivní rámec zásobníku měnit.

## Vlákno

Jedná se o číslo odpovídající jednotlivému vláknu.

## Rámec

Jedná se o číslo rámce počítáno od nuly pro aktuální funkci. První funkce vašeho programu, například `main()` v jazyce C tak bude mít nejvyšší číslo.

## Soubor

Název souboru, který obsahuje funkci odpovídající tomuto rámci.

## Řádek

Číslo řádku s funkcí odpovídající tomuto rámci.

## Funkce

Název funkce odpovídající tomuto rámci.

## Adresa

Adresa funkce odpovídající tomuto rámci.

## Argumenty

Argumenty funkce.

# Změna aktuálního rámce v zásobníku nebo vlákna

V okně Zásobník vyberte rámec, který potřebujete.

Klikněte pravým tlačítkem a vyberte Nastavit aktuální rámec.

Kliknutí na rámec zásobníku ve stejném vlákně změní jen rámec zásobníku, abyste viděli jeho lokální proměnné. Ale když to stejné uděláte s jiným vláknem, změní se jak rámec zásobníku, tak vlákno. Budou jiné i hodnoty registru a ladicí program započne ladění ve vybraném vlákně.

# Zobrazení aktuální funkce

V okně Zásobník vyberte rámec, který potřebujete.

Dvojitě klikněte nebo klikněte pravým tlačítkem a vyberte Zobrazit zdrojový kód.

# Získání zásobníku trasování

V okně Zásobník klikněte pravým tlačítkem a vyberte Získat zásobník trasování.