前页 | 后页 |
Java JDWP调试器
Java提供了两种主要的调试技术:一种基于进程内代理的系统,称为Java虚拟机工具接口(JVMTI),另一种是基于套接字的范例,称为Java调试连线协议 (JDWP)。 Java A机可以命名其中之一,但不能同时命名两者,并且必须在启动 JVM 时配置特征。
系统需求
- Enterprise Architect JDWP 调试器将只能与使用“JDWP”选项启动的 JVM 通信。以下是命令行选项的示例:
java -agentlib:jdwp=transport=dt_socket,address=localhost:9000,server=y,suspend=n -cp "c:\java\myapp;%classpath%" demo.myApp "param1" "param2" - 虚拟机当前不应附加到调试器。
- Enterprise Architect和 Eclipse 不能同时调试 VM。
分析器脚本
字段/按钮 |
行动 |
也见 |
---|---|---|
调试器 |
单击下拉箭头并选择Java (JDWP)。 |
|
运行 |
单击此单选按钮可在执行脚本时运行调试器。 |
|
默认目录 |
不适用 - 留空。 |
|
申请途径 |
不适用 - 留空。 |
|
命令行参数 |
不适用 - 留空。 |
|
先编译 |
不适用 - 留空。 |
|
显示控制台 |
不适用 - 留空。 |
|
显示诊断消息 |
不适用 - 留空。 |
|
联系 |
不适用 - 留空。 |
|
端口 |
在Java命令行选项中设置启动期间分配给 VM 进程的应用程序端口转发。 |
Java命令行选项 |
主持人 |
设置主机(默认为localhost ) 如果 VM 在联网计算机上运行,请在此处输入网络名称或 url。 默认情况下,调试将尝试连接到您在本地机器上指定的端口。 |
|
源 |
这是Java中类路径设置的源等价物。 列出每个源树的根;指定至少一个根路径。如果您指定多个,请用分号分隔它们;例如: c:\myapp\src ; c:\myserver\src 当断点发生时,调试器会在此处列出的每个源树中搜索Java源。 |
|
日志记录 |
启用或禁用来自调试器的附加信息的日志记录。 可能的值包括:
|
|
输出 |
指定要写入的本地log文件的全名。如果文件夹不存在,则不会创建log 。 log文件通常包含调试器和 VM 之间发送的字节转储。 |
|
平台 |
选择Java 。 |
用于调试的配置端口
调试器一次只能调试一个虚拟机;它使用单个端口与 VM 通信。待调试应用程序的端口是在创建 VM 时分配的。
本地调试
如果Enterprise Architect和Java VM 在同一台机器上运行,您可以执行本地调试。必须在启用 JDWP 传输的情况下启动 VM - 有关命令行选项规范,请参阅 Oracle 的Java平台调试器架构(JPDA)文档。例如:
java -agentlib:jdwp=transport=dt_socket,address=localhost:9000,server=y,suspend=n -cp "c:\samples\java\myapp;%classpath%" samples.MyApp "param1" "param2"
在这个例子中,分析器脚本的值是'host: localhost '和'port:9000'。
远程调试
当Enterprise Architect在本地机器上运行而Java VM 在远程机器上运行时,您可以执行远程调试。有必要在启用 JDWP 传输的情况下启动 VM - 有关命令行选项规范,请参阅 Oracle 的 JPDA 文档。这是一个示例,其中远程计算机的网络名称为 testmachine1:
java -agentlib:jdwp=transport=dt_socket,address=9000,server=y,suspend=n -cp "c:\samples\java\myapp;%classpath%" samples.MyApp "param1" "param2"
注记地址中没有主机名。这意味着 VM 将侦听来自任何机器的连接。在此示例中,分析器脚本的值将是“主机:分析器”和“端口:9000”。