Minne korrupsjon i programvaren kan være veldig frustrerende å feilsøke. Det hjelper , men å forstå hva som forårsaker ødelagt hukommelse og hvordan du skal gå om å fikse det . Minne kan bli ødelagt av en buffer for å bruke ikke-initialisert minne , eller prøver å lese fra eller skrive til ugyldig minne. Programmereren må finne kilden til problemet og fikse det . Du trenger
Kildekoden for programmet
Compiler for kildekoden
Vis flere instruksjoner
en
Reduser søket . Det er en anelse om at du er på vei i riktig retning hvis du ikke klarer å reprodusere feilen når en del av koden er forhindret fra å kjøre. Hvis du bruker Visual C + + , kan debugger hjelpe deg steg gjennom koden for å finne hvor korrupsjon skjer .
2
Gre gjennom kildekoden . Når du har snevret ned problemet til en mindre del av koden , må du gå gjennom den og sørge for at alt minnet leser og skriver bruk gyldig minne. Utgang debugging setninger ved hjelp av funksjoner som OutputDebugString å sørge for at minnet verdier er gyldige . Sjekk for å være sikker på at array- grenser blir fulgt og at minnet er initialisert og ikke satt til null eller slettes før bruk .
3
Løs problemet . Når du har funnet problemet , eliminere den. Hvis det er et overflødig deallocation minne , bare fjerne den linjen med kode. Sikre at alle arrays brukes kun innenfor sine grenser , og at alle direkte tilgang til minnet er initialisert før bruk .
4
hindre at problemet kunne oppstå igjen . Noen ganger bruker et minne leder slik at alle minnetildelinger og deallocations har et felles grensesnitt kan hjelpe deg å eliminere minne korrupsjon feil . Du ønsker kanskje å sjekke hver rekke lese eller skrive , slik at du kan garantere at det er innenfor grensene.