![]() |
Zugriffsverletzungen
Hallo,
Ich habe mal eine FragE? Wenn bei einem Programm ne Zugriffsverletzung kommt,besteht da die möglichkeit mit den Adressen und Zahlen was anzufangen? Ursachenforschung? danke |
Re: Zugriffsverletzungen
Da Windows ein Multitasking-betriebssystem ist, wird den Programmen von Windows einen freien Platz im Speicher zugewiesen. Die Speicheradresse des Programmes ist deshalb bei jedem Start ne andere. Die bei der Exception ausgewiesene Speicheradresse genauso. Wenn du das laufende Programm debuggst, kann diese aber trotzdem hilfreich sein.
|
Re: Zugriffsverletzungen
Solange dein Programm noch läuft (z.B. im Debugmodus) kannst du über "Suchen -> Laufzeifehler suchen" an die Adresse hinspringen wo der Fehler passiert.
|
Re: Zugriffsverletzungen
Hallo,
Zitat:
Gruß xaromz |
Re: Zugriffsverletzungen
Da jeder Prozess beim Start einen virtuellen Speicherbereich von 2 GB von Windows bekommt, ist es die virtuelle Adresse, welche auch immer gleich, wenn der Fehler an der gleichen Stelle auftritt. Die physikalische Adresse ist belanglos, darum kümmern sich die Deskriptoren (bzw. das Speichermanagement/Paging von Windows). Die Apps hantieren mit den virtuellen Adressen.
Frage: Wenn ein Teil des Prorgrammes ausgelagert wird in die Auslagerungsdatei (Paging) und die Programme mit physikalischen Adressen arbeiten würden: wie würdest du den Speicher adressieren? An seiner alten RAM Adresse liegt was neues und Kopf, Zylinder, Sektor als Adresse wäre etwas schräg. Vor allem müsste das Programm alle Adressen intern anpassen. Daher können es nur virtuelle Adressen sein. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:05 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz