eclipse远程调试linux服务器项目以及问题解决:Failed to connect to remote VM
还没有进行eclipse配置的同学参照这篇博文进行配置
https://blog.****.net/jay_1989/article/details/53611513
熟悉了基本的配置之后你会连接的时候报错
恭喜你,找到这篇博文,你就有救了
往下看之前建议可以参考下面这篇博文进行排错,
https://blog.****.net/u011008029/article/details/50586793
其中的方法我都试过了,不适合我,快速解决的方法在下面
有了之前的经验之后,我总结出了一套更为简单的远程调试方案
一.配置linux中tomcat中的启动项startup.sh和catalina.sh文件
1.startup.sh文件
这句话的意思就是使用jdpa模式启动tomcat,其余参数就是使用的默认值如监听8000端口;
catalina.sh文件:这个文件的启动是在启动startup.sh文件的时候调用的,可以在startup.sh文件中找到
就不截图说明了,很容易找到.我们发现在catalina.sh文件中的官方说明中发现启动jdpa模式的时候,默认绑定
的是localhost:8000,使用的是dt_socket监听模式等等,下面的截图为证
没有骗你们吧,localhost:8000有个问题就是:它值允许本地的ip地址去访问8000端口,(那请问我们远程调试的意义何在?)
反正不明白作者是怎么想的,姑且理解是为了安全吧.
验证:在执行了第1步操作之后在linux环境中输入netstat -ntlp可以发现启动了一个监听端口8000
或者使用sudo netstat -natlp | grep "8000"命令
看见了吗127.0.0.1:8000不就是localhost:8000嘛,这时候eclipse连接不上就是因为不是本地,别人不接受连接.
ps:细心的同学可能发现了我是使用./catalina.sh jdpa start启动的tomcat(这不就是我们第1步配置的嘛.- -!)
2.catalina.sh文件中的修改
所以第二步就是改绑定地址,改我们需要的端口号(直接上图,满足你们)
export JPDA_ADDRESS=0.0.0.0:8888
没错就是一句搞定!!!使用./catalina.sh jdpa start启动,或者第1步完成以后使用./startup.sh启动都是一样的.
然后验证:(准备谢幕!~!~!~!~!~!~!)
这样子就可以再次连接了,连接成功之后的画面是这样的,还是截个图,免得说我没有证据↓
点击下面的debug按钮出现下图,等待ing(大约两秒钟)
成功连接,开始愉快的打断点吧!
转载请注明出处,并附上本文原始连接,另外感谢其他同学写的博文,尤其是文中引用到链接的博主!再次感谢!