一、是什么?解决了什么问题?
分布式系统开发中需要关注的一个问题就是如何测试?而我们经常会遇到一种情况则是,系统在linux上部署,我们在本地电脑的Windows程序上开发,这样每一次测试都需要不断地打log日志,打包,部署,无疑会浪费大量的时间和人力!因此如果能把代码部署到远程的Linux上的tomcat中,而在本地联调则可以大幅度提高效率! java远程debug解决的便是这个问题:
--------------------------------------------------------------------------------------------------------------------------------------------------------------
服务端程序运行在一台远程服务器上,我们可以在本地服务端的代码(前提是本地的代码必须和远程服务器运行的代码一致)中设置断点,每当有请求到远程服务器时时能够在本地知道远程服务端的此时的内部状态。
远程调试的原理是:
远程调试的原理是两个VM之间通过debug协议进行通信,然后以达到远程调试的目的。两者之间可以通过socket进行通信。首先被debug程序的虚拟机在启动时要开启debug模式,启动debug监听程序。jdwp是Java Debug Wire Protocol的缩写。
二、远程debug的流程?
1-------你要有一份与远端代码一致的代码在本地开发工具上
2-------你要在linux上面启动tomcat的 远程监听程序
3-------在开发工具上配置IP和端口和命令连接过去
4-------在开发工具上启动远程DeBug
5-------在本地代码上打断点,从本地向远端方请求
三、如何操作实例 ?
===>以下提供两种方法,如下: