预订演示
前页 后页

Java JDWP调试器

Java提供了两种主要的调试技术:一种基于进程内代理的系统,称为Java虚拟机工具接口(JVMTI),另一种是基于套接字的范例,称为Java调试连线协议 (JDWP)。 Java A机可以命名其中之一,但不能同时命名两者,并且必须在启动 JVM 时配置特征。

系统需求

  1. 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"
  2. 虚拟机当前不应附加到调试器。
  3. Enterprise Architect和 Eclipse 不能同时调试 VM。

分析器脚本

字段/按钮

行动

也见

调试器

单击下拉箭头并选择Java (JDWP)。

运行

单击此单选按钮可在执行脚本时运行调试器。

默认目录

不适用 - 留空。

申请途径

不适用 - 留空。

命令行参数

不适用 - 留空。

先编译

不适用 - 留空。

显示控制台

不适用 - 留空。

显示诊断消息

不适用 - 留空。

联系

不适用 - 留空。

端口

在Java命令行选项中设置启动期间分配给 VM 进程的应用程序端口转发。

Java命令行选项

主持人

设置主机(默认为localhost )

如果 VM 在联网计算机上运行,请在此处输入网络名称或 url。

默认情况下,调试将尝试连接到您在本地机器上指定的端口。

这是Java中类路径设置的源等价物。

列出每个源树的根;指定至少一个根路径。如果您指定多个,请用分号分隔它们;例如:

c:\myapp\src ; c:\myserver\src

当断点发生时,调试器会在此处列出的每个源树中搜索Java源。

日志记录

启用或禁用来自调试器的附加信息的日志记录。

可能的值包括:

  • 真的
  • false
  • 1
  • 0
  • 是的

输出

指定要写入的本地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”。