Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#4

AW: Aufrufer / Stack ermitteln aus einer Funktion heraus

  Alt 14. Nov 2017, 17:32
Wenn er eh nur den vorherrigen Aufrufer haben will, dann reicht ReturnAddress vermutlich zu 99,99%
was wohl dem ersten Eintrag in StackWalk64 entsprechen würde.

Das Umwandeln von Adresse zu Name nimmt dir aber keine der beiden Funktionen ab.



Delphi selber und auch ich nehmen ReturnAddress gern für Exceptions und das funktioniert eigentlich ganz gut. (von Inline-Methoden mal abgesehn)
Also wo man innerhalb einer Methode eine Exception auslöst, aber der Verursacher eigentlich der Aufrufer ist.
raise Exception.Create('...') at ReturnAddress;
Da zeigen dann der Debugger und z.B. Eurekalog nicht die Zeile des Raise-Exception, sondern des Aufrufers/Verursachers an.
$2B or not $2B

Geändert von himitsu (14. Nov 2017 um 17:36 Uhr)
  Mit Zitat antworten Zitat