Debugger Architecture
You can use JCDK-Simulator
,
jc-debug-proxy
, and an IDE to debug your project.
The prebuilt executable runtime environment, JCDK-Simulator
, is run
from inside the JCDK Eclipse Plug-in or on the command line. It performs I/O through a
socket interface, simulating the interaction between a card reader and a host
computer.
Figure 4-1 Debugging 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,
jc-debug-proxy
, translates commands and responses between
JCDK-Simulator
and the appropriate protocol.
Because JCDK-Simulator
, jc-debug-proxy
, and the IDE
communicate through sockets, you may debug using a remote host. For example,
JCDK-Simulator
could run on host1, jc-debug-proxy
could run on host2, and the IDE could run on host3.
Ports used between the IDE and jc-debug-proxy
, and
jc-debug-proxy
and JCDK-Simulator
, are
distinguished by the names "listen port" and "remote
port".
Note:
The Java Card API is not debuggable. The following message will be displayed when you try to debug the Java Card API: "Source Not Found of SystemClass.systemCode()."