Du kannst einen Stacktrace z.B. über die
JEDI JCL erzeugen:
Delphi-Quellcode:
uses
JclDebug;
var
StackList: TJclStackInfoList;
CurrentStackList: TStringList;
begin
CurrentStackList := TStringList.Create;
try
StackList := JclCreateStackList(True, 0, ReturnAddress, False, nil, nil);
StackList.AddToStrings(CurrentStackList, True, True, True, True);
ShowMessage('Stacktrace:' + sLineBreak + CurrentStackList.Text);
finally
CurrentStackList.Free;
end;
end;
Funktioniert ganz hervorragend in der Debug-Version. Für die Release-Version muss der Entwickler aber Project Options -> Delphi Compiler -> Linking -> Debug Information anhaken (oder entsprechende Option im Quelltext, wenn es eine gibt).