Einzelnen Beitrag anzeigen

MatthiasR

Registriert seit: 21. Apr 2005
193 Beiträge
 
#12

Re: EAccessViolation im Projekt

  Alt 4. Nov 2008, 09:43
Zitat von spaxxn:
In der Map-Datei erstellt dir ein "Speichermapping" des kompilierten Codes bereit gestellt.

So kann man sich über die Speicheradresse der Exception in der Map-Datei anschauen, welche Funktion/wlches Objekt den Fehler geworfen hat.
Höt sich doch schonmal ganz gut an. Ich habe das mal ausprobiert und mir mit
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  abc: TForm;
begin
  abc := nil;
  abc.Show;
end;
eine Speicherzugriffsverletzung erzeugt, die da lautet:
Zitat:
Zugriffsverletzung bei Adresse 004458A6 in Modul 'Project1.exe'. Lesen von Adresse 000002F4.
Wenn ich nun in der erzeugten Map-Datei (Stufe: detailliert) nach der Adresse 004458A6 suche, finde ich nichts. Bei der Adresse 000002F4 finde ich zwei mal folgende Zeile:
Zitat:
0001:000002F4 InterlockedDecrement
Nur, was soll mir die Zeile sagen, mit dem ich was anfangen könnte zur Fehlerfindung?
  Mit Zitat antworten Zitat