栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

IDEA线上排错神器之Remote JVM Debug(JVM远程Debug)

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

IDEA线上排错神器之Remote JVM Debug(JVM远程Debug)

嗨,大家好啊!我是 jonsson。你是否为线上排查问题而苦恼,今天教你不发版的情况下进行线上 Debug。

第一步

首先我们新建一个最简单的 Spring Boot 项目,输出 12345 是为了方便我们调试

通过 Maven 进行打包,并上传至远程服务器,我这里使用的虚拟机

使用以下命令运行 jar

# JDK5-8
java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -jar remote-jvm-debug-0.0.1-SNAPSHOT.jar

以上参数可以在 IDEA 中找到,根据自己 JDK 的版本 copy 参数,本例使用的是 JDK8

参数说明:

transport: 监听 Socket 端口连接方式(也可以 dt_shmem 共享内存方式,但限于 Windows 机器,并且服务提供端和调试端只能位于同一台机)

server: =y 表示当前是调试服务端,=n 表示当前是调试客户端

suspend: =n 表示启动时不中断(如果启动时中断,一般用于调试启动不了的问题)

address: =5005 表示本地监听 5005 端口

注意

    因为这里使用到5005,所以远程服务器如果开启防火墙需要放行5005端口

    Linux 查看防火墙状态: systemctl status firewalld

    Linux 暂时关闭防火墙: systemctl stop firewalld

    -agentlib:xxxx必须在 -jar 之前

jar 运行之后的效果如下

第二步

远程启动好 jar 后,在 idea 中配置远程 Debug,如图所示:

最后我们运行 Remote JVM Debug,并在程序中打一个断点

我们使用 Postman 请求接口后,此时就可以调试线上的程序了,需要注意的是,本地程序不需要运行,但是必须保证本地的代码和远程服务器上的代码是一致。

JVM 远程 Debug 可以帮助我们快速排查线上的 Bug。如果本文对你有帮助可以帮忙点免费的赞。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/730325.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号