Debug Apex source code

Use Illuminated Cloud's integrated Offline Apex Debugger to step through Apex processes such as unit tests, anonymous Apex scripts, Visualforce and server-side Lightning controllers, Apex REST services, and more.  The offline debugger uses Apex debug logs and checkpoint information to replay execution information from completed requests as if the request were actually executing from within the debugger.  Step through execution logic, view variable values, navigate stack frames, and set breakpoints to find and resolve issues in Apex code.

Apex Offline Debugger

Launch the debugger from Illuminated Cloud features

Launch the Offline Apex Debugger directly from Illuminated Cloud for:

Apex unit tests

Apex Offline Debugger Unit Test Integration

Anonymous Apex scripts

Apex Offline Debugger Anonymous Apex Integration

External processes using the Log Viewer

Apex Offline Debugger Log Viewer Integration

Visualforce pages and Lightning applications

Illuminated Cloud can preview Visualforce pages and Lightning applications directly in the Web browser.  When used in conjunction with the Log Viewer's ability to debug external processes, presentation tier components can be debugged easily as well.

Illuminated Cloud Browser Preview

Configure checkpoints and breakpoints

Add line-level checkpoints and breakpoints to assist with debugging.  Checkpoints can be used to incorporate rich heap dump, SOQL query, and anonymous Apex script information into the debugger's variables view at associated source code locations.  Breakpoints can be used to halt the execution of the Offline Apex Debugger in order to review the state at associated source code locations, but they do not produce additional debugging information.  Note that a maximum of five checkpoints may be configured at a time.  Any number of breakpoints may be configured by enabling Suspend, disabling Dump Heap, and setting Action Type to None.

Apex Offline Debugger Checkpoint Config

Checkpoint results are automatically retrieved and integrated into the debugger's variables view.  This is critical when debugging larger processes at less verbose logging levels, but is also useful when debugging at the most verbose logging levels to enrich variable values from the Apex debug logs.

Apex Offline Debugger Checkpoint Results

Easily configure optimal logging levels

Apex debug logs are restricted to a maximum size of two megabytes (2MB) after which information will be removed from the log.  Even moderate processes may exceed this limit when configured for the verbose logging levels required for the best debugging experience.  The Offline Apex Debugger requires a full Apex debug log for proper operation.  To assist with this limitation, Illuminated Cloud makes it easy to switch between three preset logging level configurations based on the complexity of the process being debugged:
  • Full Debugging - Steps through code and displays variable assignments. Highest likelihood of exceeding maximum debug log size.
  • Stepping with Checkpoints - Steps through code but only displays variable values from checkpoint information. Lower likelihood of exceeding maximum debug log size.
  • Checkpoints Only - Stops code execution and displays variable values only at registered checkpoints. Lowest likelihood of exceeding maximum debug log size.
Preset logging levels may be selected for Apex unit test run configurations, in the Anonymous Apex tool window, and in the Log Viewer tool window.

Apex Offline Debugger Log Level Presets

It is recommended to start with Full Debugging and select the lower logging level presets as needed to find the best setting for each debugged process.  Note that Stepping with Checkpoints and Checkpoints Only configurations must be used in combination with checkpoints configured for heap dumps and/or action scripts.