热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【IDEA】

远程调试使用特定JVM参数运行服务端代码要让远程服务器运行的代码支持远程调试,则启动的时候必须加上特定的JVM参数,这些参数是:-Xdebug-Xrunjdwp:transport

文章目录[隐藏]

  • 远程调试
    • 使用特定JVM参数运行服务端代码
    • 本地连接远程服务器debug端口
    • 本地IDEA启动debug模式
    • 设置断点,开始调试


远程调试

使用特定JVM参数运行服务端代码

要让远程服务器运行的代码支持远程调试,则启动的时候必须加上特定的JVM参数,这些参数是:

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

例如

java -jar  -Xdebug -Xrunjdwp:transport=dt_socket,suspend=n,server=y,address=6666 demo-0.0.1.jar  --server.port=9090

本地连接远程服务器debug端口

打开Intellij IDEA,在顶部靠右的地方选择”Edit Configurations…”,进去之后点击+号,选择”Remote”,
按照下图的只是填写红框内的内容,其中Name填写名称,
这里为halo-remote,host为远程代码运行的机器的ip/hostname,
port为上一步指定的port,本例是6666。然后点击Apply,最后点击OK即可.

【IDEA】 远程调试

本地IDEA启动debug模式

现在在上一步选择”Edit Configurations…”的下拉框的位置选择上一步创建的remote webserver,然后点击右边的debug按钮(长的像臭虫那个),看控制台日志,如果出现类似“Connected to the target VM, address: ‘xx.xx.xx.xx:5555’, transport: ‘socket’”的字样,就表示连接成功过了。我这里实际显示的内容如下:

Connected to the target VM, address: 'localhost:6666', transport: 'socket'

设置断点,开始调试

远程debug模式已经开启,现在可以在需要调试的代码中打断点了,比如:

【IDEA】 远程调试

备注:需要注意的是,用于远程debug的代码必须与远程部署的代码完全一致,不能发生任何的修改,否则打上的断点将无法命中,切记切记。


推荐阅读
author-avatar
茫茫人海啊啊啊_574
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有