Debugger Architecture

You can use cref, debugproxy, and an IDE to debug your project.

The pre-built executable runtime environment, cref is run from inside Eclipse or on the command line, and has the ability to simulate persistent memory (EEPROM) and to save and restore the contents of EEPROM to and from disk files. It performs I/O through a socket interface, simulating the interaction between a card reader and a host computer.

Figure 8-1 Debugger Architecture

Description of Figure 8-1 follows
Description of "Figure 8-1 Debugger Architecture"

The Java Debug Wire Protocol (JDWP) used by the IDE is heavy for a small VM such as that provided by the simulator. Instead, the simulator uses a lightweight proprietary protocol to provide a minimum set of debugging capabilities. The debugger tool, debugproxy, translates commands and responses between cref and the IDE into the appropriate protocol.

Because cref, debugproxy, and the IDE communicate through sockets, you may debug using a remote host. For example, cref could run on host1, debugproxy could run on host2, and the IDE could run on host3.

Ports used between the IDE and debugproxy, and debugproxy and cref, are distinguished by the names "listen port" and "remote port".