idea 远程调试代码
Preface
一开始, 我只是想让 idea 远程运行代码, 像vscode运行前端一样, 也就是目前 idea 中的 Remote Development
(还处于 beta 版本).
不过意外让我发现了 idea 的远程调试功能, 这个功能非常适合测试环境 (快速调试 + 减轻电脑压力 + 方便联调), 更符合我们的使用场景, 让我们快速开始吧.
1. 新增配置
- Run/Debug Configurations 上点击新增 选择 Remote JVM Debug.
- 填入远程主机地址: Host
- 「可选」端口 5005 可以修改, 但服务端务必记得 开放端口
- 「可选」JDK 版本可选择对应范围
- 「可选」多个 model 项目, 选择 main 运行类所在的模块 model
- 拷贝 idea 给我们生成的
Command line arguments...
既命令行参数 - 保存配置
2. 远程服务端运行
我们使用 maven 工具进行打包, 然后传输到服务器上, 使用 java -jar … 或 nohup java -jar … 运行程序 (后者为后台运行)
java -jar -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 AAA.jar
-agentlib:jdwp
开启调试环境 (jdwp
= java debug wire protocol
)
-Xrunjdwp
或 agentlib:jdwp
参数的选项有:
transport=dt_socket
表示连接JVM的方式. 调试数据传输方式 socket / shmem 共享内存 (Win)address=5005
TCP/IP 端口暴露, 用来调试服务端suspend=y
启动时是否中断. 在执行应用程序之前等待您连接, 如果是 ‘y’,告诉 JVM 等待调试器连接后才开始执行, 否则立即执行server=y/n
调试过程区分 服务端/客服端
2.1. 扩展问题: -Xdebug -Xrunjdwp
和 -agentlib:jdwp
有什么区别
Reference: stackoverflow
在 jdk 5 之前, 使用 -Xdebug
和 -Xrunjdwp
参数, 而这些选项在以后的版本中仍然有效, 但它将以解释模式而不是 JIT 模式运行, 这会更慢.
从 jdk 5 开始最好使用 -agentlib:jdwp
单一选项.
3. 开始调试
idea 中以 debug 模式运行我们的配置即可
(完)
idea 远程调试代码相关推荐
- 【flink】Flink 使用IntelliJ IDEA 进行远程调试代码
1.概述 转载:Flink 使用IntelliJ IDEA 进行远程调试代码 改文章和 95-070-040-源码-源码调试-FLINK源代码调试方式 重复了. Flink on Yarn 不好调试, ...
- 连接远程电脑主机,pycharm远程调试代码方法
1.首先,确保你的电脑和远程主机在一个局域网中(比如你电脑的远程主机都连接了公司内网,或者是校园网) 2.知道远程主机的ip地址,和主机用户的账户名和密码. 3.可以使用任何SSH工具,这里用Pych ...
- Hadoop 使用IntelliJ IDEA 进行远程调试代码
. 一 .前言 二 .服务器端配置. 2.1. 设置启动远程debug端口 2.2. 具体操作 三 .Idea配置 3.1. 根据报错信息定位到断点所在的位置 3.2. 配置远程连接 3.3. 启动调 ...
- docker部署ubuntu并连接ssh远程调试代码
一.拉取容器 docker pull ubuntu:bionic 二.运行容器 docker run --name my-ubuntu -itd -p 6789:22 ubuntu:bionic # ...
- mac m1 python vscode 远程调试代码(debug)配置,报错:Exception has occurred: ModuleNotFoundError
1. 配置python解释器 修改程序调试时的python解释器(interpreter) 有几个地方需要设置(不确定哪个地方起作用了还是说都要配置,vs这玩意我觉得设置起来没有Pycharm友好): ...
- 计算机毕业设计 SSM+Vue消防管理系统 智慧消防系统 消防设备管理系统 消防知识宣传网站Java Vue MySQL数据库 远程调试 代码讲解
- 计算机毕业设计 SSM+Vue农家乐管理系统 农家院住宿管理系统 民宿旅游预约管理系统 Java Vue MySQL数据库 远程调试 代码讲解
- 计算机毕业设计 SSM同学录管理系统 同学聚会报名系统 在线聚会报名系统Java Vue MySQL数据库 远程调试 代码讲解
- 计算机毕业设计 SSMKTV点歌系统 音创ktv点歌系统 卡拉ok点歌系统Java Vue MySQL数据库 远程调试 代码讲解
最新文章
- 如何降低在 npm 模块中发布敏感信息的可能性
- Android深入浅出系列之实例应用—手机页面之间的跳转
- Java IO流学习总结六:ByteArrayInputStream、ByteArrayOutputStream
- 什么是声明式事务控制
- Java TDD简介–第1部分
- leetcode186. 翻转字符串里的单词 II
- MVC安全:打破固定会话
- Key为数字的Json数据标准化成标准Json格式
- Apache环境.htaccess伪静态301跳转(www与不带www)
- 北风网 传智播客 视频地址
- access h3c交换机光口_华为交换机的配置及:access、trunk、hybird端口详解
- 2014完美世界校招笔试题及答案
- Android 号牌号码识别,支持新能源车牌,离线识别
- 计算机整体硬盘销毁,如何完全销毁硬盘上的数据?
- 李开复微博数据分析--微博爬虫、数据挖掘、数据可视化(持续更新)
- Java什么时候会触发类初始化及原理(详解)
- 《破窑赋》 《命运赋》 《时运赋》
- 图像、图形、图片文件格式
- Win10获取C盘所有权限,所有者TrustedInstaller 变更administrators【强行更改权限有风险,请谨慎使用,初次更改后windows建就打不开开始栏了】
- MySql随笔-常见的数据库对象