Reveal Server Debugger Support

Reveal provides a set of debugger commands accessible from the LLDB console (including Xcode's Debug Console) once installed. These commands allow loading and controlling the Reveal Server library in the current debug session without having to write code or command aliases.

Installation

To install Reveal Server commands into your debugger, open Reveal's Help menu and click Install Debugger Commands… Confirming the installation will add the following lines into your ~/.lldbinit file, creating it if necessary:

### Reveal LLDB commands support - DO NOT MODIFY
command script import /Applications/Reveal.app/Contents/SharedSupport/Scripts/RevealServerCommands.py
###

This command imports a Python script bundled with Reveal into all your debug sessions. The script implements functionality required to load, start and stop Reveal Server in the Simulator and on device. Note that the command directly references your Reveal installation path: if you move Reveal to a different location, it will offer to update the command.

If you wish, you can copy and paste this command manually into your ~/.lldbinit file instead, changing /Applications/Reveal.app path to the location where you installed Reveal, if necessary. Please note that unless you include the full code snippet with comments, Reveal will not detect your manual installation and will not prompt you if you move it to a different location.

Removal

To remove the Reveal Server commands from your debugger, open Reveal's Help menu again and click Remove Debugger Commands… This will remove the snippet previously inserted in your ~/.lldbinit file.

Note that both installation and removal processes move the original ~/.lldbinit file to Trash, renaming it to lldbinit.pre-reveal-backup.

Available commands

While the easiest way to use Reveal Server debugger commands is to follow the Load the Reveal Server via an Xcode Breakpoint guide, these commands also allow you to control the Server during debugging:

reveal load

Loads the Reveal Server library in the current debug session. If you're debugging in the iOS or tvOS Simulator, this command will use the framework bundled with Reveal directly. When debugging on device, the command will look for RevealServer.framework package in your app's resources. If you've followed the instructions in the Debugging on device section of the Load the Reveal Server via an Xcode Breakpoint guide, your app will already contain that resource.

To start Reveal Server automatically after loading it, use the --autostart (or -a) flag, e.g. reveal load --autostart.

reveal start

Starts Reveal Server. Normally this happens automatically if the Server is loaded during application startup (e.g. in -[UIApplication _run] breakpoint), and also every time your app becomes active. However, if you would like to load and control Reveal Server manually, you can use this command to start it easily after you load it using reveal load command or by other means.

reveal stop

Stops Reveal Server, if it was previously started. You can restart it later using reveal start command.

reveal status

Prints the current status of Reveal Server: whether it's loaded and running, and also its protocol version.