热门标签 | HotTags
当前位置:  开发笔记 > 开发工具 > 正文

idea远程调试代码

idea远程调试代码实现原理为:本机和远程主机的两个VM之间使用Debug协议通过Socket协议通信,传递调试指令和调试信息,其中,调试的程序常常被称为debugger,而被调试

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填写配置一样,防火墙是否有该端口号,是否为该端口添加入站出站规则,端口是否已经被占用.



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