Hur programfel följs beror på datorprogram och programmerare , men de flesta språk implementeringar omfattar produktion av dumpfiler . Dessa filer innehåller uppgifter om vad programmet har staten var vid tidpunkten för misslyckande , och erbjuder bevis på vad som gick fel internt . Beroende på vilken typ av fel , och om det inträffade i utförandet av metoder eller i en läcka minne av högen , programmerare använder en fil tråd soptipp eller en heap dumpfil att extrahera den mest användbara informationen . Kärna dumpar och filer Dump
En dump fil representerar vad namnet antyder . När ett datorprogram kraschar eller på annat sätt beter sig konstigt , kan systemet " dumpa " en kärndumpfil . Denna fil innehåller all information om tillståndet i programmet vid tiden för kollapsen . En slags " obduktion " titta på programmet , gör denna artefakt programmerare för att undersöka de fel programmet stött och åter räkna koden . Dumpfiler är i huvudsak en dokumentation av ett program liv fram till sin död .
Stackspårning eller Thread Dump
En särskild typ av dump -fil är stackspårningen filen . Den " stack " av programmet är en datastruktur som representerar som körs metoder och deklarerade , lokala variabler . I flertrådade program , där flera trådar om verkställighet körs samtidigt har varje tråd en stapel representerar enskilda verkställande metoder . Tråden dump är en fil som representerar tillståndet för en tråd stack under exekvering . Addera ditt Heap och dumpar Heap
hög av ett program representerar den långa sikt lagring av programmet , speciellt objekt med minne allokeras genom programmet under körning . Till skillnad från stacken , inte innehållet i högen inte automatiskt bort efter att programmet är slut använder dem , såvida det programmeringsspråk implementerar sopor samla åtgärder . En heap dumpning , liksom en stackspårning eller tråd dumpa , representerar tillståndet av högen vid en given punkt i utförandet . Denna dump -fil i synnerhet kataloger alla objekt tilldelas från minnet på högen .
Heaps , stackar, och Execution
Både tråd soptippar och tippar heap spelar en viktig roll i övervaka genomförandet av ett program . Tråden dumpa visar tillståndet i stacken . Denna dump fil kan uppstår när en tråd i utförandet försöker komma åt otillgänglig minne , eller när stacken slut på minne . Tolka tråden dumpa tillåter programmeraren att se vilka metoder som används och vad metodanrop och variabeldeklarationer existerar vid tidpunkten för programmets misslyckande . Högen dumpa listar objekten på högen . Detta ger programmerare ett register över hur mycket minne har tilldelats och vilka objekt tas inte bort för att frigöra minne . Om en minnesläcka uppstår , visar denna fil vilka objekt finns i stacken när det äntligen slut på minne .