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.

Launch the debugger from Illuminated Cloud features
Launch the Offline Apex Debugger directly from Illuminated Cloud for:
Apex unit tests

Anonymous Apex scripts

External processes using the Log Viewer

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.

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.


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.

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.