使用IDEA进行远程调试

客户端(idea eclipse 等)之所以可以进行调试,是由于客户端 服务端(程序端)进行了 socket 通信,通信过程如下:

1、先建立起了 socket 连接

2、将断点位置创建了断点事件通过 JDI 接口传给了 服务端(程序端)的 VMVM 调用 suspend VM 挂起                                                                 

3VM 挂起之后将客户端需要获取的 VM 信息返回给客户端,返回之后 VM resume 恢复其运行状态

4、客户端获取到 VM 返回的信息之后可以通过不同的方式展示给客户

使用步骤

步骤1:打开Inteliij IDEA,顶部菜单栏选择Run-> Edit Configurations,进入调试配置界面

步骤2:点击左上角'+'号,选择Remote JVM Debug。分别填写右侧三个红框中的参数:NameHost(要调试的机器ip),Port(想要指定的远程调试端口)

步骤3:复制Command line arguments for remote JVM的值,点击ok

步骤4:两种方式(建议使用方法一)

方法一:进入服务器端,ps -ef | grep tomcat808x查看运行参数

启动命令 = 复制的红色部分 + idea复制的参数 + 复制的黄色部分

执行组合的启动命令

方法二:进入服务器端的catalina.sh文件,在第一行添加参数

CATALINA_OPTS="idea复制的参数"

重启tomcat即可生效(shutdown.sh /startup.sh

区别:方法一是永久有效的,只需要配置一次,之后每次启动都是debug启动

         方法二是暂时,配置参数才会以debug启动(建议使用方法二)

步骤5:本地IDEA启动debug模式,控制台显示Connected to the target VM, address: '10.144.1.191:5000', transport: 'socket' 即连接成功

注:

  1. 远程debug的代码必须与远程部署的代码完全一致,不能发生任何的修改,否则打上的断点将无法命中,切记切记。
  2. 这种方式是socket的方式去连远程tomcat的。你需要把端口对外开放。并且他是堵塞式的,同一时间只能支持一台客户端去调试
  3. 建议调试时尽快走过断点方法,以免阻塞生产环境的使用
  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用IDEA进行远程调试时,如果遇到连接失败的问题,这可能有多种原因。其中一个可能是由于Tomcat服务没有开启所致。请确保Tomcat服务已经成功启动。 另外,报错信息"Unable to open debugger port : java.net.ConnectException "Connection refused: connect""也可能是由于端口被其他进程占用所导致的。你可以尝试检查端口是否被其他应用程序占用,或者尝试更改IDEA中设置的调试端口。可以通过在IDEA中打开“Run/Debug Configurations”窗口,然后在相应的配置中找到“Debug”选项来更改调试端口。 此外,还有一些其他常见的问题可能导致远程调试连接失败,比如防火墙或网络配置问题。你可以确保防火墙允许IDEATomcat之间的通信,并检查网络配置以确保连接正常。 综上所述,当遇到IDEA远程调试连接失败的问题时,你可以先确保Tomcat服务已经启动,检查端口是否被占用,并排除防火墙或网络配置问题。希望这些信息对你有所帮助。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [IntelliJ IDEA服务器远程调试报Connection refused](https://blog.csdn.net/maomi00/article/details/80815173)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值