前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >idea如何远程debug_eclipse远程debug原理

idea如何远程debug_eclipse远程debug原理

作者头像
全栈程序员站长
发布于 2022-09-30 11:14:33
发布于 2022-09-30 11:14:33
61700
代码可运行
举报
运行总次数:0
代码可运行

大家好,又见面了,我是你们的朋友全栈君。

使用IDEA进行远程debug,这个操作大家没用过也听过

它的实现原理为:本机和远程主机的两个 VM 之间使用 Debug 协议通过 Socket 通信,传递调试指令和调试信息。

其中,调试的程序常常被称为debugger, 而被调试的程序称为 debuggee

在 Debug 领域,JDK 有一套规范与体系来支持,即 Java Platform Debugger Architecture,JPDA 体系。在 JPDA 体系中定义了 三个角色,

每个角色又对应着不同的技术模块支撑,分别为 JVMTI/JDWP/JDI。

如上图,从下往上读架构,大致可以解读为:用于调试的程序使用UI,通过Protocol,调用远端JVM进程。

举例来说比如你要远程调试tomcat中的应用,需要在catalina.sh中添加以下脚本,并重启:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
JAVA_OPTS="$JAVA_OPTS -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005"

以下为各参数的解释:

  • -agentlib:jvm参数用于装载本地lib包;其中libname为本地代理库文件名,默认搜索路径为环境变量PATH中的路径,options为传给本地库启动时的参数,多个参数之间用逗号分隔
  • jwdp :Java Debug Wire Protocol的缩写;
  • transport:用于在调试程序和VM使用的进程之间通讯;
  • dt_socket:套接字传输;
  • server=y/n : VM是否需要作为调试服务器执行;
  • suspend=y/n:是否在调试客户端建立连接立后启动VM;
  • address :调试服务器监听的端口号。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/195406.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年9月10日 ,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
远程Debug Java进程的方法
远程debug的意思是启动一个Java进程,启动一个debugger进程,将两者连接起来,利用debugger来debug Java进程。
颇忒脱
2018/10/19
2.3K0
远程Debug Java进程的方法
Debug 实现原理!看完还不懂吗?
我们在说起Debug的时候,一般是在IDE里代码中加断点,一步步跟踪。然后观察变量的值,观察输出等等。
终码一生
2022/04/15
7100
线上Bug无法复现怎么办?老司机教你一招,SpringBoot远程调试不用愁!
前言 在部署线上项目时,相信大家都会遇到一个问题,线上的 Bug 但是在本地不会复现,多么无奈。 此时最常用的就是取到前端传递的数据用接口测试工具测试,比如 POSTMAN,复杂不,难受不? 今天陈
程序员的时光001
2020/07/14
1.3K0
线上Bug无法复现怎么办?老司机教你一招,SpringBoot远程调试不用愁!
DWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510)异常启动tomcat的web程序时会先弹出javaw.exe「建议收藏
大家好,又见面了,我是你们的朋友全栈君。JDWP   JDWP 协议介绍   协议分析   Packet 的结构   JDWP 传输接口(Java Debug Wire Protocol Transport Interface)   JDWP 的命令实现机制   JDWP 的事件处理机制   JPDA(Java Platform Debugger Architecture) 是 Java 平台调试体系结构的缩写,通过 JPDA 提供的 API,开发人员可以方便灵活的搭建 Java 调试应用程序。JPDA 主要由三个部分组成:Java 虚拟机工具接口(JVMTI),Java 调试线协议(JDWP),以及 Java 调试接口(JDI)
全栈程序员站长
2022/08/05
5410
DWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510)异常启动tomcat的web程序时会先弹出javaw.exe「建议收藏
java 远程debug_idea如何debug
该过程需要本地环境和线上环境至少保证指定端口互通,该端口指的是线上debug对项目的监听端口。
全栈程序员站长
2022/10/03
1K0
java 远程debug_idea如何debug
Java远程调试(Remote Debugging)的那些事
这篇文章将研究如何处理和调试那些只发生在生产环境(或其他远程环境)而本地开发环境可能没办法重现的“问题”。任何碰到过这种情况的人都不得不承认,试图定位这种“问题”原因的过程,很大可能性是以一堆胡乱猜测而告终:一个非常耗时且低效的过程。
曲水流觞
2019/11/05
8.7K0
Java远程调试(Remote Debugging)的那些事
高效开发:IntelliJ IDEA天天用,这些Debug技巧你都知道?
在软件开发的过程中,可以说调试是一项基本技能。调试的英文单词为 debug ,顾名思义,就是去除 bug 的意思。俗话说的好,编程就是制造 bug 的过程,所以 debug 的重要性毋庸置疑,如果能熟练掌握调试技能,也就可以很快的定位出代码中的 bug。要知道,看的懂代码不一定写的出代码,写的出代码不一定能调试好代码,为了能写出没有 bug 的代码,我们必须得掌握一些基本的调试技巧。
程序员小强
2020/04/14
2.7K0
IDEA永久激活码 成功激活IDEA(2022年最新) 亲测有效
最新全家桶激活码获取方法:https://docs.qq.com/doc/DS3hpVWFnQ2ZGVnhH
终码一生
2022/09/08
1.2K0
IDEA永久激活码 成功激活IDEA(2022年最新) 亲测有效
熟练使用IDEA的断点调试(Breakpoint),大大提升你调试代码的效率(行断点、属性断点、异常断点、条件断点、远程debug...)【享学Java】
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
YourBatman
2019/09/03
13.8K1
熟练使用IDEA的断点调试(Breakpoint),大大提升你调试代码的效率(行断点、属性断点、异常断点、条件断点、远程debug...)【享学Java】
JVM 问题定位工具
JDB 是基于文本和命令行的调试工具,Jikes 在 JDB 的基础上提供了 GUI。熟悉 JDB 还是有价值的,很多情况下需要我们在命令行下完成简单的 debug 问题定位。
四火
2022/07/15
3720
JVM 问题定位工具
Java的远程调试Remote Debug
一般开发项目时可以直接本地借助IDE工具进行debug调试,但对于线上的项目,则需要借助Java提供的远程debug功能来进行调试。可以在启动项目前通过配置对应的JVM参数来启用远程debug,也可以把参数添加到Tomcat或者Jetty之类的启动脚本里。
雨临Lewis
2022/01/12
2.5K0
idea远程debug调试_eclipse远程debug
比如我这次是需要远程debug presto程序,然后在presto目录下的etc/jvm.config中添加了如下一行命令
全栈程序员站长
2022/09/30
1.3K0
idea远程debug调试_eclipse远程debug
idea如何进行debug调试_idea debug怎么用
远程调试,特别是当你在本地开发的时候,你需要调试服务器上的程序时,远程调试就显得非常有用。
全栈程序员站长
2022/10/01
1.7K0
idea如何进行debug调试_idea debug怎么用
同事改Bug飞快,原来掌握了这些代码Debug技巧
代码Debug调试是研发工程师日常工作中必不可少的重要组成部分。进行代码Debug调试的目的无非就两个,一个是自我检查代码逻辑是否有问题,便于自己将Bug消灭在测试介入之前;另一个是进行线上问题排查定位,找到实际在跑业务的过程中出现的Bug。但是无论是哪个目的,高效率的进行代码Debug调试必定会提高我们码代码的效率以及定位问题解决问题的效率,从而实现代码白盒化自我观测。本文主要罗列了10个常用的Debug技巧,可以让我们定位代码问题事半功倍。
慕枫技术笔记
2023/03/20
6370
同事改Bug飞快,原来掌握了这些代码Debug技巧
java实用小技巧(一)--远程debug
该系列介绍一些java开发中常用的一些小技巧,多小呢,从不会到会只需要一篇文章这么小。这一篇介绍如何使用jdk自带的扩展包配合Intellij IDEA实现远程debug。 项目中经常会有出现这样的问题,会令程序员抓狂:线上项目关键代码段没有打印日志,本地环境正常生产环境却又问题...这时候,远程debug可能会启动作用。 1 准备用于debug的代码 准备一个RestController用于接收请求,最后可以通过本地断点验证是否成功开启了远程debug @RestController public cl
kirito-moe
2018/04/27
1.8K0
java实用小技巧(一)--远程debug
最好的IDEA debug长文?看完我佛了
最近写了几篇IntelliJ IDEA系列的文章,反响蛮好。我想了下,因为并非是分享什么破解方法、推荐插件、主题这种蛋炒饭式哗众取宠的文章,而是真实对工作有帮助,对提高工作效率很有用的内容。同学们对使用IDEA还是有不少痛点,或者姿势不够正确优雅,一直以来A哥坚持写些不随波逐流、有一定深度专栏文章,哪怕只是个工具IDEA而已。
YourBatman
2021/02/07
2.5K1
idea远程调试
实际开发中由于项目是部署在Linux服务器上,本地开发可以通过debug进行调试,然而在服务器上运行时出现问题无法直接定位到具体是哪行代码出现了bug,加大问题的排查,好在在idea中可以实现远程调试,本文就这个问题进行学习
在水一方
2022/06/14
1.1K0
idea远程调试
idea配置远程debug_idea远程调试
在工作中经常会遇到本地运行没有问题,部署到环境上就会出现问题,很多时候也没有错误日志,所以可以使用远程debug的方式,像本地debug一样,debug服务器上部署的项目。
全栈程序员站长
2022/09/30
1.5K0
idea配置远程debug_idea远程调试
IDEA实现java远程调试
启动命令中 5005就是服务对外提供的远程调试访问端口,服务器防火墙要对应开放,否则也连接不上。
终有链响
2024/07/29
2440
IDEA实现java远程调试
IDEA 远程调试
原理:本机和远程主机的两个 VM 之间使用 Debug 协议通过 Socket 通信,传递调试指令和调试信息。 被调试程序的远程虚拟机:作为 Debug 服务端,监听 Debug 调试指令。jdwp是Java Debug Wire Protocol的缩写。 调试程序的本地虚拟机:IDEA 中配置的 Remote Server,指定 Debug 服务器的Host:Port,以供 Debug 客户端程序连接。
IT小马哥
2022/06/12
1.5K0
IDEA 远程调试
推荐阅读
相关推荐
远程Debug Java进程的方法
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验