调试出现Failed to connect to remote VM. Connection ref

解决步骤以下:java

1 查看tomcat的启动log,第一行“Listening for transport dt_socket at address: xxxxweb

检查这里是否是8000,若是不是,须要修改catalina.bat文件windows

2 修改tomcat的startup.bat文件,在@echo off后一行增长set jpda_address=8000浏览器

3 执行startup.bat文件启动tomcattomcat

 4 在eclipse中Run-Debug Configurations-Remote Java Application下找到相应工程,在connect的tag下设置port为8000。eclipse

5 debugsocket

----------------------------------------------------------------工具

找到tomcat/bin/catalina.bat文件,编辑,在CATALINA_OPTS以前加上下行代码spa

set CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=50001【用来调试的端口号】.net

保存,重启Tomcat

 

 

----------------------------------------------------------------

让java程序支持被远程调用所须要的java参数以下
-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=1044

若是使用weblogic、jboss和tomcat,须要配置相应的启动文件,

以tomcat为例,对于非windows平台下的操做来讲,须要把%TOMCAT_HOME%/bin/startup.sh中的最后一行 exec "$PRGDIR"/"$EXECUTABLE" start "$@" 中的start改为jpda start。

若是8000端口有其余用处的话,那么还须要修改catalina.sh文件,添加一行 JPDA_ADDRESS=”1044”或者其余你指定的端口。这样就能够经过startup.sh或者catalina.sh jpda start来其中支持远程调试的tomcat了。
在windows平台上是同样的步骤,只不过.sh文件改为了.bat文件了。而后须要注意如下这些地方,
一、 catalina.bat文件默认的JPDA_TRANSPORT是dt_shmem,可是Eclipse只支持dt_socket,因此须要在catalina.bat中添加一行set JPDA_TRANSPORT=”dt_socket”
二、 catalina.bat文件默认的端口是jdbconn,我也不知道这个端口是多少,所以添加一个set JPDA_ADDRESS="1044" 

启动tomcat,

启动Eclipse ,选择你想要Debug的类并设置断点,而后选择 Debug工具栏下的Debug子菜单(Debug concigurations),在弹出的Debug窗口中,在左边的菜单项中选择远程调试(Remote Java Application),而后输入机器名和端口,好比说localhost和1044,而后Apply而且开始Debug;

打开浏览器,输入须要调试的页面,此时会激活Eclipse 的Debug窗口,此时就能够进行Debug了。

相关文章
相关标签/搜索