Exception Stacktrace

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
Antworten
Bergmann89
Beiträge: 98
Registriert: Di 15. Nov 2011, 11:36

Exception Stacktrace

Beitrag von Bergmann89 »

Hey Leute,

ich versuch grad verzweifelt den StackTrace einer Exception zu loggen. Ich hab folgende Funktion aus dem Wiki genommen:

Code: Alles auswählen

procedure DumpExceptionCallStack(E: Exception);
var
  I: Integer;
  Frames: PPointer;
  Report: string;
begin
  Report := 'Program exception! ' + LineEnding +
    'Stacktrace:' + LineEnding + LineEnding;
  if E <> nil then begin
    Report := Report + 'Exception class: ' + E.ClassName + LineEnding +
    'Message: ' + E.Message + LineEnding;
  end;
  Report := Report + BackTraceStrFunc(ExceptAddr);
  Frames := ExceptFrames;
  for I := 0 to ExceptFrameCount - 1 do
    Report := Report + LineEnding + BackTraceStrFunc(Frames[I]);
  ShowMessage(Report);
  Halt; // End of program execution
end;
ExceptFrameCount ist bei mir immer 0 und ich komm nur an die Zeile an der die Exception geworfen wurde. Der Rest vom Trace fehlt. Hat jmd ne Idee woran das liegen könnte?

€: hm, schient ein Problem vom 64bit Compiler zu sein. Als 32bit Anwendung funktioniert es ohne Probleme...

MfG Bergmann.

Antworten