如何使用 Idea 远程调试 Java 代码

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用 Idea 远程调试 Java 代码相关的知识,希望对你有一定的参考价值。

项目的部署方式有在本地搭建服务器进行启动或是debug,或是将项目在远程服务器上面部署。一般如果在本地搭建服务器的时候,可以直接选择启动或是直接debug,但是如果项目部署在远程的服务器上面的时候, 我们该如何进行调试呢?而一些大公司的项目是不需要在本地搭建应用服务器的,为了环境统一,应用服务器都是在远程服务器上面,这时我们就需要用远程debug,通过远程服务器的ip地址和远程开启的debug端口进行调试:

1.首先把远程服务器上面需要调试的代码放在IDE里面
2.在菜单栏选择run ->edit Configuration,点击+号,选择remote,然后在配置项里面输入远程需要调试机器的IP地址和所对应的端口号,最后在最上面输入该次一远程调试的项目名字,方便自己区分不同的项目
3.将配置项中的-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5080添加到JAVA_OPTS的属性中,重启远程tomcat服务器
3.再次选择菜单条run按钮,找到debug+“自己设置的项目名字”,点击然后就可以进行远程debug调试
4.在本地项目中设置断点,然后访问远程机器上面的IP和端口,然后就可以在本地debug调试了
参考技术A 远程调试主要有两种方式 listen 和 attach 模式

Socket Attach语法:
java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,address="8000" -jar test.jar
Socket Listen语法:
java -Xdebug -Xrunjdwp:transport=dt_socket,address=127.0.0.1:8000,suspend=y -jar test.jar
idea 如何远程debug
菜单上有个 Run -> Debug configrations -> Remote -> settings下选择你的模式 填写好ip host即可 同时确保网络防火墙关闭可通本回答被提问者采纳

如何使用 Idea 远程调试生产环境 Java 代码

最近有一个语音质检项目线上环境出现问题了,因为整个项目的核心是解析第三方生成的xml文件,所以这些文件都在服务器上,本地是没有这些文件的,所以如果我们想在本地debug,需要申请将文件下载下来,非常的麻烦,所以只能通过在代码中添加log来逐步排查问题,每次添加都需要部署,非常的浪费 时间。所以小编心想如果可以直接debug线上就好了,果然网上有类似的教程,通过idea直接debug线上,下面分享。

第一步:远程配置

需要在tomcat中配置,开启远程调试设置,在tomcat 的配置文件catalina.sh中 增加以下设置:

JAVA_OPTS="-agentlib:jdwp=transport=dt_socket,address=5005,suspend=n,server=y"

注:5005端口号是服务器tomcat开的一个端口,用来给你远程连接调试代码的,和微服务应用本身的端口没有一点关系。

 第二步:配置idea

1)点击右上角的 edit configuration

注意:端口号和tomcat中开启远程调试的时候 配置的端口一直

debug启动我们配置的远程项目,出现下面结果证明连接成功:

到这我们的配置就算完成了,整个过程的配置还是非常简单的,重要的时候我们遇到问题的时候,这中想法很重要,有很多的工具可以帮助我们实现我们的想法。

下面说一下调试过程:

1、本地代码必须和服务端代码保持一致

2、在需要调试的地方设置断点

3、通过postman或者其他方式触发我们想要调试的方法即可

这样我们就可以非常愉快的提示线上问题了,因为一些问题可能是需要线上的数据才可以重现,所以这种远程调试的方法还是比较重要的。

以上是关于如何使用 Idea 远程调试 Java 代码的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Idea 远程调试生产环境 Java 代码

IDEA远程调试Tomcat程序

IDEA远程调试Java代码

IDEA远程调试Java代码

IDEA远程调试Java代码

idea远程调试服务器中的代码