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

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

引言


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


第一步:远程配置


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

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

20180825120648656.png

第二步:配置idea


1)点击右上角的 edit configuration

20180825132012706.png

20200728142018127.png

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

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

20200728142035805.png

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


下面说一下调试过程:


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


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


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


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

目录
相关文章
|
3天前
|
Java 程序员 API
Java中的Lambda表达式:简化你的代码
【7月更文挑战第10天】Lambda表达式,这一Java 8的闪亮特性,为开发者提供了一种更为简洁、灵活的编程方式。本文将探讨Lambda表达式如何优化代码结构,提升开发效率,以及在实际项目中应用的一些实例。我们将从基础语法入手,逐步深入到高级用法,最后讨论其性能影响,旨在帮助读者全面理解并有效利用Lambda表达式。
31 20
|
4天前
|
监控 Java Maven
使用AspectJ实现Java代码的运行时织入
使用AspectJ实现Java代码的运行时织入
|
9天前
|
缓存 算法 安全
|
16小时前
|
Java
idea启动java服务报错OutOfMemoryError: GC overhead limit exceeded解决方法
idea启动java服务报错OutOfMemoryError: GC overhead limit exceeded解决方法
|
1天前
|
Java 编译器 API
Java中的Lambda表达式:简化代码,提升性能
在Java 8中,Lambda表达式的引入为开发者提供了一种更加简洁、灵活的编程方式。本文将深入探讨Lambda表达式的概念、语法、使用场景及其在Java中的应用示例,帮助读者更好地理解和掌握这一强大工具,从而优化代码结构,提高开发效率。
|
2天前
|
存储 Oracle Java
Java面试题:描述如何使用Eclipse或IntelliJ IDEA进行Java开发?
Java面试题:描述如何使用Eclipse或IntelliJ IDEA进行Java开发?
8 0
|
5天前
|
监控 Java Maven
使用AspectJ实现Java代码的运行时织入
使用AspectJ实现Java代码的运行时织入
idea快捷键:全局搜索文件,代码,接口,ctrl+shift+f无效?也可以点击Edit 点击Find Replace in path
idea快捷键:全局搜索文件,代码,接口,ctrl+shift+f无效?也可以点击Edit 点击Find Replace in path
|
7天前
|
Java Linux Shell
Linux软件安装和部署Java代码
Linux软件安装和部署Java代码
11 0
|
7天前
|
IDE Java 持续交付
Java中的代码质量检查与自动化工具
Java中的代码质量检查与自动化工具