Einzelnen Beitrag anzeigen

Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#16

AW: Ungültige Zeigeroperation/AV obwohl nichts geändert wurde

  Alt 8. Nov 2016, 20:45
Wenn man bei der Arbeit mit Pointern was falsch macht, muss das nicht zwingend das eigenen Programm betreffen, sondern es kann eine Auswirkung "irgendwo" im System oder in anderer Software haben. So ein Fehler muss nichtmal zwingend auffallen, es kommt halt drauf an, wie kritisch die "zerbeulte" Stelle im Arbeitsspeicher ist.
Das ist zum Glück unter Windows nicht (mehr) der Fall, sofern man nicht mit MSDN-Library durchsuchenWriteProcessMemory im virtuellen Adressraum eines anderen Prozesses rumspielt. Pages von DLLs haben das COPY_ON_WRITE Flag, wodurch Änderungen an dieser Stelle nur für deinen eigenen Prozess übernommen werden. Höchstens MemoryMappedFiles (MapViewOfFile, NtMapViewOfSection) könnten durch Schreiben an eine falsche Adresse global und permanent bis zum Neustart des Systems beschädigt werden.

Im Grunde hast du aber Recht. Besonders mit deiner letzten Aussage, weshalb ich meistens sogar froh darüber bin, einen Seiteneffekt zu bekommen. Dann weiß ich nämlich, dass irgendwas schief läuft und kann mich auf Fehlersuche begeben.
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)