Please note : This help page is not for the latest version of Enterprise Architect. The latest help can be found here.
The Android Debugger
If you are developing Java applications running on Android devices or emulators, you can also debug them. The Local and Remote machines can be on either a 32-bit platform or a 64-bit platform.
System Requirements
On the Remote machine, this software is required:
• | Android SDK, which includes the android debug ridge, ADB (you need to be familiar with the SDK and its tools) |
• | Java JDK (32 and 64 bit support) |
• | Port Forwarding software (3rd party) |
On the Local machine, this software is required:
• | Enterprise Architect Version 10 |
Analyzer Script Settings
Field/Button |
Action |
See also |
---|---|---|
Debugger |
Click on the drop-down arrow and select Java (JDWP).
|
|
Run |
Click on this radio button.
|
|
Default Directory
|
Not applicable - leave blank.
|
|
Application path
|
||
Command Line Arguments
|
||
Build first
|
||
Show console
|
||
Show diagnostic messages
|
||
Connection
|
||
Port |
This is the application port forward-assigned using adb or other means, that connects to the Virtual Machine (VM) process on Android.
|
|
Host |
Host computer (defaults to localhost ) If Android is running on an emulator on a device attached to a networked computer, enter the network name here. By default, debugging will attempt to connect to the port you specify on the local machine.
|
|
Source |
This is the source equivalent of the classpath setting in Java. The root to each source tree should be listed. If more than one is specified, they should be separated by a semi-colon; that is:
c:\myapp\src;c:\myserver\src
You must specify at least one root source path. When a breakpoint occurs the debugger searches for the java source in each of the source trees listed here.
|
|
Logging |
Enables logging additional information from debugger possible values: true,false,1,0,yes,no
|
|
Output |
Specifies the full name of the local log file to be written. The folder must exist or no log will be created. The log file typically contains a dump of bytes sent between debugger and VM.
|
|
Platform |
If you are debugging Java running under any android scenario, select Android. For all other scenarios, select Java.
|
|
Configure Ports for Debugging - Port Forwarding (Local)
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 can be assigned using ADB.
Before debugging, start the application once in the device. When the app starts, perform the following to discover its process id:
adb jdwp
The last number listed is the process identifier (pid) of the last application launched; note the pid and use it as follows to allow the debugger to connect to the VM:
• | adb forward tcp:port jdwp:pid |
• | port = port number listed in analyzer script |
• | pid = process id of the application on the device |
Configure Ports for Debugging - Port Forwarding (Remote)
To debug remotely the same procedure should be followed as for the local machine, but the communication requires additional forwarding as the socket created using the abd forward command above will only listen on the local adpater. The socket is bound to the localhost and attempts to connect to this port will be met with connection refused messages.
In order to achieve remote debugging it it necessary to have a proxy running on the remote machine that listens to all incoming connections and forwards all traffic to the adb port.; there are numerous software product available to do this.
Remote debugging with Enterprise Architect will not work unless a proxy port forwarder has been configured by the user.