Option 1Use the StackTrace property of an exception object (Delphi 2009+):
except
Option 2Use the ToString method to convert call stack to single string with default formatting:
var
Option 3Use the Assign method to convert call stack to TStrings object with default formatting:
var
Option 4Use the CallStackToString function from ECallStack unit:
// (CallStackToString function allows you to override header and formatting)
See below for examples of various formatters.
Option 5Use CallStackToStrings function from ECallStack unit:
// (CallStackToStrings function allows you to override header and formatting)
See below for examples of various formatters.
Available formattersEurekaLog has 4 built-in formatters:
--------------------------------------------------------------------------------------------------------------------------------- |Methods |Details|Stack |Address |Module |Offset |Source |Unit |Class |Procedure/Method|Line | --------------------------------------------------------------------------------------------------------------------------------- |*Exception Thread: ID=9672; Parent=0; Priority=0 | |Class=; Name=MAIN | |DeadLock=0; Wait Chain= | |Comment= | |-------------------------------------------------------------------------------------------------------------------------------| |7FFFFFFE|04 |00000000|007CD41D|Project183.exe|0048D41D|Unit1.pas |Unit1 |TForm1 |Button1Click |37[1] | |00000060|04 |019DF02C|006F5043|Project183.exe|003B5043|Vcl.Controls.pas|Vcl.Controls|TControl |Click |7707[9]| |00000020|04 |019DF038|00710176|Project183.exe|003D0176|Vcl.StdCtrls.pas|Vcl.StdCtrls|TCustomButton|Click |5953[3]| ...
----------------------------------------------------------------------------- |Address |Module |Unit |Class |Procedure/Method|Line | ----------------------------------------------------------------------------- |*Exception Thread: ID=10640; Parent=0; Priority=0 | |Class=; Name=MAIN | |DeadLock=0; Wait Chain= | |Comment= | |---------------------------------------------------------------------------| |00B3D41D|Project183.exe|Unit1 |TForm1 |Button1Click |37[1] | |00A65043|Project183.exe|Vcl.Controls|TControl |Click |7707[9]| |00A80176|Project183.exe|Vcl.StdCtrls|TCustomButton|Click |5953[3]| ...
(0048D41D){Project183.exe} [007FD41D] Unit1.TForm1.Button1Click (Line 37, "Unit1.pas") + $11 (003B5043){Project183.exe} [00725043] Vcl.Controls.TControl.Click (Line 7707, "Vcl.Controls.pas") + $8 (003D0176){Project183.exe} [00740176] Vcl.StdCtrls.TCustomButton.Click (Line 5953, "Vcl.StdCtrls.pas") + $2 ...
[0132D41D] Unit1.TForm1.Button1Click (Line 37, "Unit1.pas") [01255043] Vcl.Controls.TControl.Click (Line 7707, "Vcl.Controls.pas") [01270176] Vcl.StdCtrls.TCustomButton.Click (Line 5953, "Vcl.StdCtrls.pas") ...
See also:
| ||||||||||||