idea远程调试代码
idea远程调试代码
实现原理为:
本机和远程主机的两个VM之间使用Debug协议通过Socket协议通信,传递调试指令和调试信息,
其中,调试的程序常常被称为debugger,而被调试的程序称为debuggee
大致结构如上图,分为三个过程,用于调试的程序使用UI,通过protocol,调用远程JVM进程
idea配置
1.添加Remote JVM Debug
2.填写远程ip
3.填写端口号
填写完成会自动生成Command line arguments for remote JVM
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=6101
启动jar包
在启动jar包时后面添加刚才生成的参数
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=6101
然后运行idea
如果启动成功,会在控制台显示,然后请求进入会进入断点
参数介绍
加载本机代理库,jdwp为Java Debug Wire Protocol的缩写,它定义了调试器(debugger)与被调试的JVM(debuggee)之间的通信协议
下面为参数的可配选项
需要注意的地方
如果出现下面错误
Error running 'remote': Unable to open debugger port (xx.xx.xx.xx:6101): java.net.ConnectException "Connection refused (Connection refused)"
无非就是ip地址错误或者端口号错误,
检查ip地址是否有误,ip地址是否与idea填写配置一致,能否ping通;
端口号是否有误,端口号是否与idea填写配置一样,防火墙是否有该端口号,是否为该端口添加入站出站规则,端口是否已经被占用.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律