前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Intellij Idea远程调试 Java代码

Intellij Idea远程调试 Java代码

作者头像
呼延十
发布2019-07-28 13:59:05
2.8K0
发布2019-07-28 13:59:05
举报
文章被收录于专栏:呼延呼延

前言

线上(真-线上/测试环境)代码出了问题,总是要在本地复现,然后debug,这个过程是在是不太友好,而且线上的很多数据本地没有,经常耽误好久的时间来同步数据.

前文介绍过一种在运行时DEBUG及修改Java代码的方式,阿里开源java动态追踪工具 Arthas的使用.其主要针对的是线上修改代码及JVM实时查看.

但是有很多问题,我们更想要IDE的DEBUG功能,比如线上跑了NPE,本地没有办法复现因为可能是线上的数据问题,这时候就会想,如果可以在线上这里打个断点,就知道是谁为空了.

幸好Java是有远程DEBUG的支持的,而且Intellij-IDEA也实现了相关的功能,今天学习并且记录一下.

启动参数

首先在服务端使用JVM的-Xdebug参数启动Jar包.

java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5555 -jar huyan-demo.jar

参数说明:

  • -Xdebug:JVM在DEBUG模式下工作;
  • -Xrunjdwp:JVM使用(java debug wire protocol)来运行调试环境;
  • transport:监听Socket端口连接方式,常用的dt_socket表示使用socket连接.
  • server:=y表示当前是调试服务端,=n表示当前是调试客户端;
  • suspend:=n表示启动时不中断.
  • address:=8000表示本地监听5555端口。

IDEA配置

服务端以DEBUG模式启动了jar包之后,基本上就完成了,只需要在IDEA中做一些配置,如下图:

2019-07-04-11-48-21
2019-07-04-11-48-21

添加一个新的启动项,选择Remote,之后在配置信息里面填入你启动的服务端的IP地址调试端口.

之后点击debug按钮,像本地一样的开始debug吧~.

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 启动参数
  • IDEA配置
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档