`
gao_xianglong
  • 浏览: 467173 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Java Remote Debug

阅读更多

《Java Remote Debug》

 

简介

如果是本地调试,那么在IDE工具(比如Eclipse)的帮助下,是非常容易的。但是如果想对部署在测试/生产环境中的程序进行调试时,你会怎么办呢?在这种情况下,源码已经被编译为中间代码,因此本地调试肯定是不行的,庆幸的是,JVM为开发者提供有远程调试参数,也就是说,我们可以利用这个特性,在本地的IDE工具中调试部署在远端的程序。

 

一、开启remote debug模式

每一个程序都寄宿在独立的JVM中,那么Java程序的远程调试,其实我们可以理解为多个JVM进程之间的TCP通信。如果希望你的程序支持远程调试,那么你需要在JVM启动时支持并开启debug模式。

Java7之前可以使用如下参数:

java -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=7001,suspend=n

   

Java7之后可以使用如下参数:

java -agentlib:jdwp=transport=dt_socket,address=7001,server=y,suspend=n

 

简单解释下上述参数,server=y,表示支持监听debug client端的请求;address=7001,表示JVM进程之间的通信端口;suspend=y,表示debug client与debug  server成功建立会话之后再启动JVM,如果为n,则反之。

 

二、执行remote debug

在开始remote debug之前,我们首先需要在本地源码指定位置上标记断点。笔者以eclipse为例,在菜单栏Debug Configgurations-->Remote Java Application中找到如下页面,如下所示:

 

当配置好debug client与debug server之间的会话信息后,就可以开始remote debug了。

分享到:
评论

相关推荐

    lixia改进版本propero javardp

    "lixia改进版本propero javardp"是一个针对原始 Propero Java Remote Debug Protocol (javardp) 进行优化和增强的项目。 Propero 是一个轻量级的远程调试协议,它允许开发者对 Java 应用程序进行远程调试,而无需...

    Jrebel远程热部署+远程debug1

    - 在启动远程服务时,同时启用 Jrebel 热部署和远程 Debug 参数,如:`java -agentpath:./lib/libjrebel64.so -Drebel.remoting_plugin=true -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=...

    java查看sun包源码-remote-debug-example:Java远程debug示范例子

    java查看sun包源码 Java 远程debug 一、remote debug 何为远程debug呢?通常我们在开发过程中,都会将代码部署到服务中,这个时候QA 提出了一个bug,通过查看代码的逻辑发现问题十分的困难?一般情况下都是想着本地能...

    Debug时修改代码能即时生效.

    同时还会将 dcevm.jar 文件添加到 Java 的扩展目录下。 使用 DCEVM 可以实现热部署,提高开发效率,从而提高产品的质量和可靠性。DCEVM 是一个非常有用的工具,能够帮助开发者更好地 Debug 代码。 知识点: * ...

    Applet Debug

    【Applet Debug】是指在开发Java Applet时进行远程调试的技术。Applet是一种小型的Java程序,可以在Web浏览器中运行,但开发过程中可能会遇到各种问题,此时就需要进行调试。远程调试使得开发者能够在本地环境中对...

    tomcat_remote_debug.rar

    标题“tomcat_remote_debug.rar”暗示了这个压缩包可能包含了有关如何远程调试Apache Tomcat服务器的资源。Apache Tomcat是一款广泛使用的开源Java Servlet容器,它实现了Java EE的Web部分,如Servlet和JSP规范。...

    java Web Service 打成War包后如何Debug

    在"Run/Debug Configurations"中,选择"Remote"类型,配置相应的端口和协议,然后在服务器启动时启用远程调试。 2. **远程调试**: - 对于远程服务器上的WAR应用,你需要在Web服务器的启动参数中添加远程调试选项...

    Eclipse远程调试Java代码

    - **新建远程Java应用配置**:在Eclipse中,选择`Run` -> `Debug Configurations`,然后在左侧窗格中选择`Remote Java Application`,点击`New launch Configuration`。 - **配置连接信息**:在`Connection`选项卡...

    weblogic远程debug

    例如,在Eclipse中,选择`Run > Debug Configurations...`,然后添加一个`Remote Java Application`配置。 - 在配置中,填写`Project`(你的项目名称),`Host`(WebLogic Server所在的机器IP地址),以及`Port`...

    Spring Boot开启debug模式

    - 选择`Run` -> `Debug...`,然后点击"+"图标,选择`Remote`,输入连接名称,不需要修改默认的端口(5005)。点击`Apply`和`OK`。 4. **开始调试**: - 当Spring Boot应用在debug模式下启动并监听到5005端口后,...

    springboot远程调试(eclipse篇)

    5. **切换到 Debugger 标签页**,勾选 `Remote Java Application`,并填写远程调试的服务器地址和端口号(这里应为 `localhost:5005`)。 6. **点击 Apply** 保存配置,然后点击 Run 开始调试。 #### 三、调试过程 ...

    tomcat_debug.rar

    1. **创建远程debug配置**:在Eclipse中,选择`Run` -> `Debug Configurations`,然后在左侧树形菜单中选择`Remote Java Application`,点击右侧的`New launch configuration`按钮。 2. **配置连接信息**:在新打开...

    java-debug-practice

    "java-debug-practice"可能是一个项目或教程,专注于提升开发者在Java环境中的调试能力。虽然标签显示为"CSS",但考虑到标题和描述,我们将主要关注Java调试方面的知识。 1. **Java Debugging Overview**: 调试是找...

    Eclipse 的debug技术讲解

    若需调试远程应用服务器上的J2EE项目,还需配置Remote Java Application,指定服务器地址和端口,以便Eclipse连接并调试。 调试J2EE项目时,注意Web服务、Servlet、EJB等组件的调试。在Eclipse中,你需要先启动...

    tomcat远程debug测试

    - 在`Debug Configurations`中创建的`Remote Java Application`配置,需正确选择连接类型,通常是`Standard (socket attach)`,并提供正确的服务器IP和端口号。 通过以上步骤,开发者可以在本地Eclipse环境中高效...

    使用eclipse远程debug .

    本文将详细讲解如何使用Eclipse这一流行的Java集成开发环境(IDE)进行远程Debug。Eclipse远程Debug功能允许开发者对运行在另一台机器上的应用程序进行调试,这对于分布式系统或者服务器端应用的调试尤其有用。 ...

    TongWeb的debug调试.doc

    - 在左侧的树形结构中,选择`Remote Java Application`并点击右侧的`New Launch Configuration`按钮创建新的配置。 - 在`Project`一栏,选择你的项目(如果与TongWeb有关联的话)。 - 在`Connection`部分,输入...

    eclipse如何配置ofbiz下的debug

    在Eclipse中,选择"Run" > "Debug Configurations...",在左侧树形结构中选择"Remote Java Application",然后点击右侧的"New Launch Configuration"按钮创建一个新的调试配置。 在新打开的窗口中,我们需要填写...

    Java操作USB源代码

    │ │ RemoteHost.java │ │ RemoteHostFactory.java │ │ RemoteUSBListener.java │ │ USBD.java │ │ USBListenerProxy.java │ │ │ ├─test │ │ ControllerUSBListener.java │ │ USBController.java ...

    Java--Access数据库连接和Tomcat的远程设置

    1. 在Tomcat服务器的`conf/server.xml`文件中,找到`<Connector>`标签,添加`remoteDebug`属性,并设置端口号,例如`remoteDebug="8000"`。 2. 在Eclipse或其他IDE中,设置远程调试配置,指定服务器地址和之前设置...

Global site tag (gtag.js) - Google Analytics