eclipse远程调试java_eclipse远程调试java程序

本文详细介绍了如何进行远程调试Java程序,包括在IDE中配置*.ini文件,设置-Xdebug和-Xrunjdwp参数,以及创建'DebugConfigurations'。还解释了JPDA的组件和连接器,并提供了不同连接模式的示例。确保使用JVM V5.0以上版本,理解-Xrunjdwp子选项如transport、server和address的作用,以实现调试器和目标VM之间的有效通信。
摘要由CSDN通过智能技术生成

*如何远程调试IDE程序

---示例步骤:

1.配置IDE下的*.ini文件,加入如下内容

-Xdebug

-Xrunjdwp:transport=dt_socket,server=y,address=8000,suspend=[y默认值|n]

2.启动IDE

3.在'Debug Configurations'中'Remote Java Application'中新建一个配置

如下图

1b40710bafbeeebfc546b136643ed91b.png

4.单击'Debug',开始debug.

---说明

1.这里server=y表示IDE端作为服务接入端,此时eclipse对应的连接类型为'Socket Attach'

若server=n,或没有server项,则连接类型为'Socket Listen'

*-agentlib:jdwp

---示例

-agentlib:jdwp=transport=dt_socket,server=y,address=8000

这样和-Xrunjdwp:transport=dt_socket,server=y,address=8000是等效的.

总之,对VM的特性是值得很多研究的.

以下内容主要来自参考文档的摘要,稍作补充

*为了进行远程调试,必须使用 Java Virtual Machine (JVM) V5.0 或更新版本

*概念

---JPDA 由两个接口(分别是 JVM Tool Interface 和 JDI)、一个协议(Java Debug Wire Protocol)和两个用于合并它们的软件组件(后端和前端)组成。它的设计目的是让调试人员在任何环境中都可以进行调试

---连接器是一个 JDI 抽象,用来在调试器应用程序和目标 VM 之间建立连接。传输定义应用程序如何进行访问,以及数据如何在前端和后端之间传输。连接器 “映射” 到可用的传输类型和连接模式。在 Sun 的 JPDA 参考实现中,为 Microsoft® Windows® 提供了两个传输机制:套接字传输和共享内存传输。可用的连接器:

* 连接套接字连接器

* 连接共享内存连接器

* 监听套接字连接器

* 监听共享内存连接器

* 启动命令行连接器

*命令行参数

---'-Xdebug'  启用调试特性。

---'-Xrunjdwp: '

在目标 VM 中加载 JDWP 实现。它通过传输和 JDWP 协议与独立的调试器应用程序通信。下面介绍一些特定的子选项。

从 Java V5 开始,您可以使用 -agentlib:jdwp 选项,而不是 -Xdebug 和 -Xrunjdwp。但如果连接到 V5 以前的 VM,只能选择 -Xdebug 和 -Xrunjdwp。下面简单描述 -Xrunjdwp 子选项。

transport

这里通常使用套接字传输。但是在 Windows 平台上也可以使用共享内存传输。

server

如果值为 y,目标应用程序监听将要连接的调试器应用程序。否则,它将连接到特定地址上的调试器应用程序。

address

这是连接的传输地址。如果服务器为 n,将尝试连接到该地址上的调试器应用程序。否则,将在这个端口监听连接。

suspend

如果值为 y,目标 VM 将暂停,直到调试器应用程序进行连接,默认值为y.

如果值为 n,目标 VM 将启动.

---示例

java -Xdebug -Xrunjdwp:transport=dt_socket,address=127.0.0.1:8000,suspend=y

-jar test.jar

*参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值