Et opkald stakken er datastrukturen komponent i et edb-program , der holder styr på alle kørende subrutiner . En subrutine er en del af et større stykke software, der udfører en højt specialiseret opgave . Subrutiner sidst afslutte deres opgave og at kaldstakkens holder styr på, hvad subrutiner er færdig , og hvilke der stadig er aktive . Brug af Gnu Debugger ( GDB ), kan du se kaldstakkens for et kørende program . Dette er nyttigt , når dit program har en bug , og du har brug for at sondere dybere ind i runtime environment for at se, hvad der går galt . Hvad du har brug
Linux computer med gdb installeret
Vis Flere Instruktioner
1
start " gdb " for det program , du ønsker at se opkaldet stak af . For eksempel, " , eksempelvis " for at starte debugging det program, du vil skrive følgende ind i Linux kommandoprompt : Hej
gdb eksempel
2
Run en backtrace på programmet. Dette viser en liste over aktive funktion opkald i programmet tråd. Dette er kaldstakkens , men der er mere du kan gøre end bare se den. Skriv følgende for at indlede backtrace : Hej
backtrace
3
Observer liste over aktive funktion opkald . Hver enkelt er indledes med havelåge "# " og et nummer. Du kan få adgang til deres stakrammer gennem dette nummer.
4
Observer stakrammen for et aktivt funktion opkald . For eksempel for at se den stakrammen for funktion opkald 3 , skriver følgende : Hej
frame 3
5
List alle oplysningerne i denne ramme. Dette giver dig oplysninger om subrutine , som kan hjælpe dig med at fejlsøge dit program.