JAVA远程调试

1、远程端启动必须添加jvm参数

-Xdebug -Xrunjdwp:transport=dt_socket,suspend=n,server=y,address=${debug_port}

其中debug_port为自定义的调试端口

2、

本地连接远程服务器debug端口

打开Intellij IDEA,在顶部靠右的地方选择”Edit Configurations…”,进去之后点击+号,选择”Remote”,按照下图的只是填写红框内的内容,其中host为远程代码运行的机器的ip/hostname,port为上一步指定的debug_port,本例是5555

然后点击Apply,最后点击OK即可

启动debug模式

现在在上一步选择”Edit Configurations…”的下拉框的位置选择上一步创建的remote的名字,然后点击右边的debug按钮(长的像臭虫那个),看控制台日志,如果出现类似“Connected to the target VM, address: ‘xx.xx.xx.xx:5555’, transport: ‘socket’”的字样,就表示连接成功过了。

设置断点,开始调试

远程debug模式已经开启,现在可以在需要调试的代码中打断点了,比如:

如图中所示,如果断点内有√,则表示选取的断点正确。

现在在本地发送一个到远程服务器的请求,看本地控制台的bug界面,划到debugger这个标签,可以看到当前远程服务的内部状态(各种变量)已经全部显示出来了,并且在刚才设置了断点的地方,也显示了该行的变量值。

时间: 2024-10-14 09:39:41

JAVA远程调试的相关文章

Java远程调试原理与运用

Java远程调试的原理是两个VM之间通过debug协议进行通信,然后以达到远程调试的目的.两者之间可以通过socket进行通信. 首先被debug程序的虚拟机在启动时要开启debug模式,启动debug监听程序. java -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=8000,suspend=n zhc_application zhc_application是main程序,server=y表示是监听其他debugclient端的请

java远程调试(idea)

遇见一个怪异问题,无奈线上数据库有限制,只能远程调试下代码.突然发现,远程调试代码真的好简单,简单记录下操作步骤. 1.在idea里创建一个Remote,远程连接的入口. 找到 Edit Configgurations 这个选项. 找到左上角的加号,新建一个Configguration. 找到Remote,这就是远程调用的入口. a.修改远程服务器的ip b.这个端口是我们远程调用时候使用的端口,不是tomcat服务器的端口 c.选择与线上匹配的项目源码.然后得到箭头的参数. 2.设置Tomca

java 远程调试(java application与web application)

如摘要中所述,在联调时经常性的需要将程序部署到测试机器上,此时要调试显得很不方便.以前的做法都是在程序中打印信息来进行追踪,但是这种方法很有局限性,因为往往无法一次就定位到有问题的地方,需要不断的修改程序打印的语句,不断的重启应用,这需要花费大量的时间和精力.因此,采用远程调试会是一种好的解决方式.下面将会对java application和web application两种入手进行说明. 一.Java Application的远程调试 1.准备要调试的server端环境 首先准备一段小的代码,

linux下的java远程调试jpda+tomcat

项目放到linux服务器了,服务器的环境或者数据可能和我们本地不一样,这个时候我们可能需要远程的断点进行调试,来查看请求过程中的各个变量的值.这里我们的应用服务器用的tomcat5.5.17 这个时候你需要知道JPDA这个概念. 简单的概括下JPDA: Java Platform Debugger Architecture(JPDA:Java平台调试架构) 由Java虚拟机后端和调试平台前端组成  1.Java虚拟机提供了Java调试的功能  2.调试平台通过调试交互协议向Java虚拟机请求服务

linux下的java远程调试jpda+tomcat(转)

转载自 http://blog.csdn.net/kongqz/article/details/3971263 项目放到linux服务器了,服务器的环境或者数据可能和我们本地不一样,这个时候我们可能需要远程的断点进行调试,来查看请求过程中的各个变量的值.这里我们的应用服务器用的tomcat5.5.17 这个时候你需要知道JPDA这个概念. 简单的概括下JPDA: Java Platform Debugger Architecture(JPDA:Java平台调试架构) 由Java虚拟机后端和调试平

Java 远程调试

写服务端程序,在开发环境下打开远程调试还是非常有用的,还原现场非常容易,让请求方再发个请求即可.如果下来本地调试的话很多环境与管理服务的地址配置什么的都可能不一样,增加了可变因素. 在需要启动服务调试的jvm启动参数中加入(注意:参数要排在启动类名的前面) -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=1234 dt_socket:使用的通信方式 server:是主动连接调试器还是作为服务器等待调试器连接 sus

开启Java远程调试

在JDK启动时,添加 -Xrunjdwp:transport=dt_socket,address=9900,server=y,suspend=n -Dcom.sun.management.jmxremote.port=40124 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false 选中项目,右键 点击Debug开始远程调试

Java Remote Debug(idea远程调试)

概述 对于分布式系统的调试不知道大家有什么好的方法.对于我来说,在知道远程调试这个方法之前就是在代码中打各种log,然后重新部署,上线,调试,这样比较费时.今天咱们来了解了解Java远程调试这个牛逼的功能,本文以Intellij IDEA为例讲解怎么使用远程调试.以Thrift入门教程这篇文章中使用的程序作为例子.这个程序由Thrift服务端和客户端组成.描述一下远程调试需要解决的问题: 服务端程序运行在一台远程服务器上,我们可以在本地服务端的代码(前提是本地的代码必须和远程服务器运行的代码一致

Idea IntelliJ远程调试教程

概述 对于分布式系统的调试不知道大家有什么好的方法.对于我来说,在知道远程调试这个方法之前就是在代码中打各种log,然后重新部署,上线,调试,这样比较费时.今天咱们来了解了解Java远程调试这个牛逼的功能,本文以Intellij IDEA为例讲解怎么使用远程调试.以Thrift入门教程这篇文章中使用的程序作为例子.这个程序由Thrift服务端和客户端组成.描述一下远程调试需要解决的问题: 服务端程序运行在一台远程服务器上,我们可以在本地服务端的代码(前提是本地的代码必须和远程服务器运行的代码一致