三种情况不同的方式:
第一种 spring-boot项目
pom.xml文件直接加上:
<project>
...
<build>
...
<plugins>
...
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>1.1.12.RELEASE</version>
<configuration>
<jvmArguments>
-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005
</jvmArguments>
</configuration>
...
</plugin>
...
</plugins>
...
</build>
...
</project>
第二种 jar项目
启动:
java -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=8000,suspend=n -jar demo.jar
第三种 tomcat启动web项目
第1步: 修改catalina.sh文件
修改Tomcat安装目录下的/usr/apache-tomcat-6.0.26/bin /catalina.sh 文件;在这个文件中加入如下内容:(我是加在文件的第一行)
CATALINA_OPTS="-Xdebug-Xrunjdwp:transport=dt_socket,address=10000,server=y,suspend=n"
(这里address=10000,表示要远程调试连接的端口号),修改后保存此文件。
第2步: 关掉防火墙
liunx下用如下命令关闭防火墙:
/etc/rc.d/init.d/iptables stop
第3步: 部署项目程序:
将Windows 系统下的 E:\Tomcat 6.0\webapps 目录下要调试的项目程序,部署到Linux系统/usr/apache-tomcat-6.0.26/webapps 目录下。(必须保证Linux下的程序与MyEclipse中的程序一致)
第4步: 重新启动Tomcat服务
停止Tomcat服务,使用如下命令:
# /usr/apache-tomcat-6.0.26/bin/shutdown.sh
启动Tomcat服务,使用如下命令:
# /usr/apache-tomcat-6.0.26/bin/startup.sh
第5步: 新建remote javaapplication
然后打开MyEclipse,新建一个remote java application ,在打开的MyEclipse里的工具栏里有个小虫子debug的图标,点击旁边的下三角符号,选择open debug dialog,打开debug配置对话框,在最后一项有个remote java application ,选中后右击new一个出来。
(附件中有图片)
第6步: 配置remote javaapplication
在name里填个名字,然后在下面的connect的project里选中MyEclipse里的项目(即部署在Linux系统下的项目,注意要和远程的项目对应)。connection type就用默认的,connection properties的Host里填上远程机器的ip地址(即Linux系统的IP地址),第二项Port里填端口:10000,(Port端口和catalina.sh 文件中的address值一样,同时要保证这个端口没被其他服务使用)。配置完成后直接点击“Debug”按钮,开启调试线程,在MyEclipse的debug窗口中会看到有一个调试的线程启动,说明配置成功。
第7步: 设置断点:
在MyEclipse中打开要调试的文件,在需要的地方打上断点,访问远程机器的程序,当程序运行到断点处时会停住,即可进行远程调试。
(注:在调试过程中可以对本地程序进行修改,以达到想要的效果。但所修改的文件并不会影响到远程机器上文件,所以修改过的文件必须更新到远程机器上。)