Einzelnen Beitrag anzeigen

Benutzerbild von Aphton
Aphton

Registriert seit: 31. Mai 2009
1.198 Beiträge
 
Turbo Delphi für Win32
 
#7

AW: Gemeiner Programmabsturz, wie weiter machen?

  Alt 2. Mai 2011, 19:38
Nun, so einfach dürfte das nicht gehen.
Die Imagebase Adresse kann und wird vom PE Loader geändert (warum - spielt keine Rolle).
Deshalb solltest du, falls das Programm abstürtzt, nicht nur die Adresse, an die EIP zuletzt gezeigt hat, war merken, sondern auch die Imagebase. Und am besten merkst du dir nur die Differenz der beiden (Letzte Adresse - Imagebase). Dann hast du nämlich die relative virtuelle Adresse und kannst bei dir daheim dann deiner eigenen Imagebase (der Exe, zur Laufzeit ermittelt) diesen relativen Wert aufaddieren und hast letztendlich somit die Adresse, wo es geknallt hat.
Ist schwer zu verstehen, wenn man keine Ahnung von PE (PortableExecutable Format) hat, aber du kannst gerne nachfragen, falls es dich interessiert.
das Erkennen beginnt, wenn der Erkennende vom zu Erkennenden Abstand nimmt
MfG
  Mit Zitat antworten Zitat