Delphi SDK
All Platforms
Works with VCL, FMX, console apps, Windows services, Linux servers, DataSnap, RAD Server, and Android mobile apps. iOS coming soon.
Stack traces on Win32 and Win64.
Exceptions arrive with unit, function and line number, in 32-bit and 64-bit executables, Debug or Release.
The setup links the compiler’s map file into your .exe, so there is no map file to ship next to it.
Already use another library for stack traces? ExeWatch captures the trace itself and collects it from every customer machine in one dashboard.
If that library only does stack traces, ExeWatch gives you much more, starting free: logs, breadcrumbs, performance timing, custom metrics, hardware info, email alerts and AI anomaly detection.
If you keep your library, the two work side by side (how).
Setup:
- Download ExeWatch for RAD Studio (2.9 MB): one setup for RAD Studio XE8 and later. It puts the SDK on the Library Path and adds an ExeWatch entry to the Project menu
- With your project open, choose Project > ExeWatch > Enable ExeWatch Telemetry. It adds
ExeWatchConfig.pas and the StartExeWatch and FlushExeWatch calls to your project
- Put your API key in
EXEWATCH_API_KEY, in ExeWatchConfig.pas
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// REQUIRED: ExeWatchConfig.pas, added by the menu
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
const
EXEWATCH_API_KEY = 'ew_win_xxx';
// Main file (.dpr), added by the menu
StartExeWatch;
// ... your application ...
FlushExeWatch;
// The customer: read it from your license and pass it
SetExeWatchCustomer('ACME-Corp');
// That's it! Errors are now captured automatically.
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// OPTIONAL: Additional features
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// Identify the current user
EW.SetUser('user123', 'john@acme.com', 'John Doe');
// Add global tags for context
EW.SetTag('environment', 'production');
// Manual logging
EW.Info('User opened settings', 'UI');
EW.Error('Connection failed', 'DB');
// Breadcrumbs: track actions before errors
EW.AddBreadcrumb('Loading data', 'db');
// Measure performance
EW.StartTiming('database_query');
try
QueryResults := RunComplexQuery(SQL);
EW.EndTiming('database_query');
except
on E: Exception do
begin
EW.EndTiming('database_query',
TJSONObject.Create(TJSONPair.Create('error', E.Message)), False);
raise;
end;
end;
Automatic Exception Capture: All unhandled exceptions are automatically logged—no try/except needed. The VCL/FMX hooks capture GUI exceptions, while console app crashes are caught at the system level.
Also included: User identity tracking, global tags, breadcrumbs trail, performance timing, offline persistence, automatic retry, and hardware info collection.
Compatible with Delphi XE8+ on Windows Vista / Server 2008 or later, Linux, and Android. macOS / iOS coming soon.