Intellij IDEA如何远程调试
本文最后更新于 948 天前,其中的信息可能已经有所发展或是发生改变。

一般情况下,对于分布式系统的调试还是比较麻烦的,比较常见的方式是在远程调用的过程中通过不断的打印log,然后重新部署上线、调试、定位问题,实在是过于麻烦。

实际上Java是支持远程调试的,只是大家平时没有怎么用过罢了,本文通过Intellij IDEA为例讲解如何来使用远程调试。

准备测试程序

@GetMapping("/list")
public ResponseEntity<?> list() {
    final List<String> arrayList = new ArrayList<>();
    for (int i = 0; i < 1000; i++)
        arrayList.add(String.format("arrayList_item_%s", i));
    return ResponseEntity.ok(arrayList);
}

这个程序很简单,就是循环生成ArrayList对象罢了。

使用特定的JVM参数启动程序

将程序上传到服务器(10.211.55.5)上后,使用相关的JVM参数启动程序:

-Xdebug -Xrunjdwp:transport=dt_socket,address=${debugger_port},server=y,suspend=n

其中,${debugger_port}代表开启远程调试的端口,开启完毕后,要注意防火墙相关的配置

java -D -Xdebug -Xrunjdwp:transport=dt_socket,address=9012,server=y,suspend=n -jar springboot-test-0.0.1-SNAPSHOT.jar

启动成功后如图:

配置IDEA连接远程调试

打开Edit Configurations,然后新建Remote 配置后如图:

然后启动之,如若控制台出现以下提示,则表示连接成功了:

Connected to the target VM, address: '10.211.55.5:9012', transport: 'socket'

开始调试

后面的步骤就像是在本地一样了,该怎么调试就怎么调试:

暂无评论

发送评论 编辑评论

|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇