目录

一、idea远程debug原理

二、创建一个springboot工程

三、IDEA远程调试配置

四、服务端开始debug模式

五、idea启动远程调用

六、启动远程调试参数解释


一、idea远程debug原理

远程调试,需要调试服务器上的程序时,远程调试就显得非常有用。JAVA 支持调试功能,本身提供了一个简单的调试工具JDB,支持设置断点及线程级的调试同时,不同的JVM通过接口的协议联系,本地的Java文件在远程JVM建立联系和通信。

  • 本地代码监听远程调试端口,在在本地需要调试代码打下断点。
  • 访问远程服务。
  • 远程服务触发idea编辑器本地代码,本地代码进入debug状态。
  • 在本地调试代码,解决代码bug。

简单流程如下:

二、创建一个springboot工程

之前已经介绍过很多创建springboot工程的文章了,可以参考这篇文章:如何创建一个springboot工程

三、IDEA远程调试配置

1,打开idea,顶部菜单栏选择Run-> Edit Configurations,进入下图的运行/调试配置界面。

2,点击左上角'+'号,选择Remote。分别填写右侧三个红框中的参数:Name,Host(想要指定的远程调试端口)。

3,点击界面右下角应用按钮即可。

四、服务端开始debug模式

java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -jar spring-boot-mybatis-plus-0.0.1-SNAPSHOT.jar

五、idea启动远程调用

程序上打上断点,点击运行。调用服务器端运行的系统程序,系统自动进入断点。

六、启动远程调试参数解释

  1. -Xdebug:通知JVM工作在调试模式下
  2. -Xrunjdwp:通知JVM使用(java debug wire protocol)来运行调试环境。参数同时有一系列的调试选项
  • transport:指定了调试数据的传送方式,dt_socket是指用SOCKET模式,另外dt_shmem指用共享内存方式,其中dt_shmem只适用于窗口平台.server  参数是指是否支持在服务器模式的虚拟机中。
  • server参数是指是否支持在server模式的VM中。
  • onthrow:指明当产生该类型的异常时,JVM就会中断下来,进行调式该参数任选。
  • launch指明,当JVM被中断下来时,执行的可执行程序。该参数可选。
  • suspend指明,是否在调试客户端建立起来后,再执行JVM。
  • onuncaught(= y或n)指明出现未捕获的异常后,是否中断JVM的执行。

如何使用idea远程debug调试代码详解相关推荐

  1. idea 导出war包_使用IDEA实现远程代码DEBUG调试教程详解

    我们在使用 IDEA DEBUG调试代码的时候,常常见到控制台会输出一句这样的话:「Connected to the target VM, address: '127.0.0.1:62981', tr ...

  2. openstack windows下远程debug调试(komodo)

    2019独角兽企业重金招聘Python工程师标准>>> 感谢朋友支持本博客,欢迎共同探讨交流,由于能力和时间有限,错误之处在所难免,欢迎指正! 如有转载,请保留源作者博客信息. Be ...

  3. IntelliJ IDEA远程debug调试

    IntelliJ IDEA远程debug调试 IntelliJ IDEA远程debug调试 解决痛点: 排查线上bug log日志埋点不准确,告别屡次打包部署cycle 前提: 本地代码必须与远程代码 ...

  4. IDEA配置远程debug调试

    当项目部署到远程服务器上的时候,很多时候会发现在远程服务器上执行的结果与我们在本地的执行结果不一致,因此,为了方便我们部署到远程服务器上和在本地debug调试一直,特需配置远程debug调试. 配置远 ...

  5. java调试案例_Spring-boot的debug调试代码实例

    这篇文章主要介绍了Spring-boot的debug调试代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 xml文件中配置: scf.serv ...

  6. 利用Debug调试代码解决0xC0000005: 读取位置 0x0000000000000000 时发生访问冲突

    VS2019利用Debug调试代码解决0xC0000005: 读取位置 0x0000000000000000 时发生访问冲突 之前一直是使用release发布代码模式进行程序编译,前天突然出现这个问题 ...

  7. Windbg调试命令详解

    Windbg调试命令详解 发表于2013 年 8 月 23 日 转载注明>> [作者:张佩][原文:http://www.yiiyee.cn/Blog] 1. 概述 用户成功安装微软Win ...

  8. Visual Studio Code (VSCode) 之 C/C++ 调试配置详解

    准备   默认情况下,VSCode仅仅内置了对node.js运行时的调试支持,只可以直接调试JavaScript.TypeScript和任何其他翻译为JavaScript的语言.其他语言的调试支持,都 ...

  9. 石头剪刀布人工智能代码详解

    石头剪刀布人工智能代码详解 #include <iostream> #include <fstream> #include <stdlib.h> #include ...

最新文章

  1. 9.Spring Security添加记住我功能
  2. NR 5G NG-RAN 架 构
  3. CLI下的网页浏览器之二——Lynx
  4. 多个Email的JS检测正刚表达式.
  5. 随机变量统计独立性的相关证明
  6. django view返回form error_Django(解决被钓鱼CSRF、Django中间件、反射)
  7. Windows 注册表清理
  8. javaweb框架介绍
  9. 2021年材料员-岗位技能(材料员)新版试题及材料员-岗位技能(材料员)考试试卷
  10. 浙大PAT考试经验/考前必看/日常刷题总结(经验只写了一点点
  11. 免root卸载MIUI中在通知栏中推送广告的应用——msa
  12. 怎样拨打韩国国际长途电话
  13. gc计算机术语,GC是什么意思?
  14. 我看现在的seo培训机构
  15. 移动支付探索海外,将普及全球
  16. android 输入法更换_详解安卓手机输入法和键盘切换方式的教程
  17. VMware虚拟机+Kali linux 2021.2 下载和安装以及初始操作
  18. python学习之自动化运维(一):shell的使用
  19. Lucene 搜索词分词
  20. wave.Error: unknown format: 3解决方法

热门文章

  1. CPropertyPage::OnSetActive()和OnKillActive()函数:属性页切换时的处理函数
  2. python读取excel送到网页_python+selenium excel中文读取填充到网页
  3. sptk安装,编译流程
  4. PowerBI随笔(3)-增加自定义列
  5. 【深度学习】一种关注于重要样本的目标检测方法!
  6. 《机器学习》课程视频(数据处理、模型构建与优化)
  7. 【算法】八大经典排序算法详解
  8. Python实现递归算法
  9. 为什么越来越多的程序员开始学机器学习的原因
  10. Alpha冲刺随笔集