Memory korruption i din programvara kan vara mycket frustrerande att felsöka . Det hjälper dock , att förstå vad som orsakar minnesfel och hur man ska fastställa det . Minnet kan förvanskas genom en buffert genom att använda oinitierad minne , eller försöker läsa från eller skriva till ogiltiga minne . Programmeraren måste hitta källan till problemet och åtgärda det . Saker du behöver
Källkod program
kompilator för källkod
Visa fler instruktioner
1
Minska din sökning . Det är en aning om att du är på väg i rätt riktning om du misslyckas med att återskapa felet när en del av koden förhindras från att köras . Om du använder Visual C + + , kan debugger hjälpa dig stega igenom koden för att hitta där korruptionen händer . Genom källkoden
2
Komb . När du har minskat ner problemet till en mindre del av koden , måste du gå igenom det och se till att hela minnet läser och skriver användning giltigt minne . Utgång felsökning uttalanden med funktioner som OutputDebugString att se till att minnet värden är giltiga . Kontrollera att se till att array bounds åtlyds och att minnet initieras och inte inställd på noll eller raderas innan den används .
3
Fixa problemet . När du har hittat problemet , eliminera det . Om det är en ovidkommande avallokering minne , helt enkelt ta bort den kodrad . Se till att alla matriser används endast inom sina gränser och att alla direkt tillgång minnet initieras före dess användning .
4
förhindra att problemet uppstår igen . Ibland använder ett minne chef så att alla minnesallokeringar och avallokeringar har ett gemensamt gränssnitt kan hjälpa dig att eliminera fel minnesfel . Du kanske vill kontrollera varje array läsa eller skriva , så att du kan garantera att det är inom gränserna .