栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

IDEA远程断点调试jar包项目

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

IDEA远程断点调试jar包项目

文章目录
  • 前言
  • 一、准备工作
    • 1. jar包应用
    • 1. IDEA配置
  • 二、断点调试
    • 1. 运行jar包
    • 2. 访问接口
    • 3. 进来断点
  • 三、注意点
  • 总结

前言

springboot 项目在开发完,打成一个 jar 包,放到服务器运行时,如果报错了,怎样排查比较方便?

要是开发环境,我们可以在 IDEA 打上断点,轻松调试,但是现在已经是一个 jar 包在服务器运行着了。

我们可以远程断点调试 jar 包项目吗?

可以。


一、准备工作 1. jar包应用

自己创建一个 springboot 项目,里面很简单,就写一个用来调试的接口:

@GetMapping("/test")
public String test(){
    int i = 1 / 0;
    System.out.println(i);
    return "success";
}

打成 jar 包,上传到一台虚拟机节点,我这里上传到了 192.168.201.4

1. IDEA配置

点击 Edit Configurations

选择 Remote

填写信息
注意:我们只需要修改 Host 那一项就可以了,改成我们远程运行 jar 包的节点 ip

二、断点调试 1. 运行jar包

在上一步, IDEA 自动生成了一串东西,就是这个:

复制它 !

去到虚拟机节点下,运行命令启动项目:

java 复制的指令 -jar 包名

我实际的运行命令:

java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -jar demo.jar

控制台可以看到,它正在监听 5005 端口

2. 访问接口

http://192.168.201.4:8087/test

3. 进来断点

三、注意点

我这里故意让程序抛异常,并打印信息,可以看到,跟我们本地断点有点不一样,IDEA 的控制台是不会输出信息的,我们只能在虚拟机节点的控制台查看

IDEA 的控制台始终显示:


不过堆栈信息,运行中的对象属性等,还是可以在 IDEA 那里看到的

还有,运行的 jar 包的代码和 IDEA 中的代码要保持一致


总结

欢迎指出我的错误!

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

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

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