Please note : This help page is not for the latest version of Enterprise Architect. The latest help can be found here.

Java JDWP Debugger

Java provides two main debugging technologies, an in-process agent based system called the Java Virtual Machine Tools Interface (JVMTI) and a socket based paradigm called the Java Debug Wire Protocol (JDWP). A Java Virtual Machine may name either one of these but not both, and the feature must be configured when the JVM is started.

System Requirements

  1. The Enterprise Architect JDWP debugger will only be able to communicate with a JVM started with the 'JDWP' option. Here is an example of the command line option:
         java -agentlib:jdwp=transport=dt_socket,address=localhost:9000,server=y,suspend=n -cp "c:\java\myapp;%classpath%" demo.myApp "param1" "param2"
  2. The Virtual Machine should not be currently attached to a debugger.
  3. It is not possible for a VM to be debugged by Enterprise Architect and Eclipse at the same time.

Analyzer Script Settings



See also


Click on the drop-down arrow and select Java (JDWP).


Click on this radio button to run the debugger when the script is executed.

Default Directory

Not applicable - leave blank.

Application path

Not applicable - leave blank.

Command Line Arguments

Not applicable - leave blank.

Build first

Not applicable - leave blank.

Show console

Not applicable - leave blank.

Show diagnostic messages

Not applicable - leave blank.


Not applicable - leave blank.


Set the application port forward-assigned to the VM process during start-up, in the Java command-line options.

Java Command Line Options


Set the host computer (defaults to localhost)

If VM is running on a networked computer, enter the network name or url here.

By default debugging will attempt to connect to the port you specify on the local machine.


This is the source equivalent of the classpath setting in Java.

List the root to each source tree; specify at least one root source path. If you specify more than one, separate them with a semi-colon; for example:


When a breakpoint occurs the debugger searches for the Java source in each of the source trees listed here.


Enable or disable logging of additional information from the debugger.

Possible values include:

  • true
  • false
  • 1
  • 0
  • yes
  • no


Specify the full name of the local log file to be written. If the folder does not already exist, no log will be created.

The log file typically contains a dump of bytes sent between the debugger and VM.


Select Java.

Configure Ports for Debugging

The debugger can only debug one VM at a time; it uses a single port for communication with the VM. The port for the application to be debugged is assigned when the VM is created.

Local Debugging

Where both Enterprise Architect and the Java VM are running on the same machine, you can perform local debugging. It is necessary to launch the VM with the JDWP transport enabled - see the documentation on Java Platform Debugger Architecture (JPDA) at Oracle for the command line option specifications. For example:

     java -agentlib:jdwp=transport=dt_socket,address=localhost:9000,server=y,suspend=n -cp "c:\samples\java\myapp;%classpath%" samples.MyApp "param1" "param2"

In this example the values for the Analyzer script would be 'host = localhost' and 'port = 9000'.

Remote Debugging

Where Enterprise Architect is running on the local machine and the Java VM is running on a remote machine, you can perform remote debugging. It is necessary to launch the VM with the JDWP transport enabled - see the documentation on JPDA at Oracle for the command line option specifications. Here is an example, where the remote computer has the network name test01:

     java -agentlib:jdwp=transport=dt_socket,address=9000,server=y,suspend=n -cp "c:\samples\java\myapp;%classpath%"

     samples.MyApp "param1" "param2"

Note the absence of a host name in the address. This means the VM will listen for a connection from the network not just the local machine. In this example the values for the Analyzer script would be host = test01 and port = 9000.