Offline Apex Debugger

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.

Fully-integrated execution

Launch the Offline Apex Debugger directly from Illuminated Cloud for:

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.

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.

Easily configure optimal logging levels

Apex debug logs are now restricted to a maximum size of twenty megabytes (20MB) after which information will be removed from the log. Larger processes may still 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.

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.

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.

Debug levels and trace flags for all users and other traced entity types can be configured in the Log Analyzer logging configuration tool. Expired trace flags can be extended with a single button click.