Een call stack is de datastructuur onderdeel van een computer programma dat bijhoudt van alle lopende subroutines . Een subroutine is een deel van een groter stuk software dat een zeer gespecialiseerde taak uitvoert. Subroutines uiteindelijk besluiten hun taak , en dat de call-stack houdt bij welke subroutines hebben voltooid en welke nog steeds actief zijn . Met behulp van de GNU Debugger ( GDB ) , kunt u het gesprek stack bekijken voor een lopend programma . Dit is handig voor wanneer uw programma heeft een bug , en je moet dieper sonde in de runtime-omgeving om te zien wat er fout gaat . Wat je Linux -computer met gdb geïnstalleerd Need Toon Meer Aanwijzingen 1 Start ' gdb ' voor het programma dat u wilt het gesprek stapel te zien . Bijvoorbeeld , om te beginnen met het debuggen van het programma " Zo , " zou je de volgende typen in de Linux command prompt : gdb bijvoorbeeld Run 2 een backtrace op het programma . Dit toont een lijst van actieve functie oproepen in de programma thread . Dit is de call-stack , maar er is meer je kunt doen dan alleen maar kunnen bekijken . Typ het volgende om de backtrace initiëren : backtrace 3 Let op de lijst van de actieve functie oproepen . Ieder wordt voorafgegaan door de hekje " # " en een nummer. U kunt hun stack frames openen via dit nummer . 4 Let op de stapel kader van een actieve functie oproep . Bijvoorbeeld , om de stack frame voor functie-oproep 3 bekijken , schrijf de volgende : frame 3 Lijst 5 alle informatie in dit frame. Dit geeft u informatie over de subroutine , die u kunnen helpen uw programma te debuggen .
|