Wie wird festgestellt, ob Zeiger eine Speicheradresse zerstören?
Aktualisiert: November 2007
Dieses Thema gilt für folgende Anwendungsbereiche:
Edition |
Visual Basic |
C# |
C++ |
Web Developer |
---|---|---|---|---|
Express |
![]() |
![]() |
Nur "Systemeigen" |
![]() |
Standard |
![]() |
![]() |
Nur "Systemeigen" |
![]() |
Pro und Team |
![]() |
![]() |
Nur "Systemeigen" |
![]() |
Tabellenlegende:
![]() |
Vorhanden |
![]() |
Nicht vorhanden |
![]() |
Befehl oder Befehle, die standardmäßig ausgeblendet sind. |
Problembeschreibung
Vermutlich wird der Speicher an der Adresse 0x00408000 von einem Zeiger des Programms zerstört. Wie kann festgestellt werden, was dort geschieht?
Lösung
Überprüfen des Heaps auf Beschädigungen
- Ein Speicherschaden ist eigentlich die Folge einer Heapbeschädigung. Versuchen Sie, das Global Flags-Dienstprogramm (gflags.exe) oder pageheap.exe zu verwenden. Weitere Informationen finden Sie unter https://support.microsoft.com/default.aspx?scid=kb;en-us;286470.
So finden Sie die geänderte Stelle der Speicheradresse
Legen Sie einen Datenhaltepunkt bei 0x00408000 fest. Weitere Informationen finden Sie unter Gewusst wie: Festlegen eines Datenhaltepunkts (nur systemeigen).
Zeigen Sie den Speicherinhalt bei Erreichen eines Haltepunkts im Fenster Speicher ab Adresse 0x00408000 an. Weitere Informationen finden Sie unter Fenster "Arbeitsspeicher".
Siehe auch
Konzepte
FAQs zum Debuggen von systemeigenem Code