记录一下今天学到的如何使用IDEA进行远程连接tomcat进行调试的方法。
tomact启动
首先,在阿里云服务器上的Tomcat的bin目录下的catalina.sh中写入
CATALINA_OTPS=“-Xdebug -Xrunjdwp:transport=dt_socket,address=xxxx,server=y,suspend=n” 这行指令
其中xxxx代表自己所要设置的端口号,我自己是设置8888,
然后重新启动tomcat,输入ps -ef | grep tomcat,能看到配置的信息已经生效了。
然后要记得去阿里云控制台设置对应的安全组策略。
接着,启动IDEA,选择Edit Configurations
点击+号,然后选择remote
将Socket以及Attach选择上,Host处填上自己云服务器的IP地址,port就是你刚刚在服务器设置的端口
search source using module‘s classpath,这里要选择自己所要远程连接调试的项目
然后点击ok
然后直接开启IDEA的Debug模式
出现下图字样即代表成功连接
然后在你项目controller 打上断点,访问阿里云的项目你就能接收到了。
如果是jar包,只需要修改jar包启动的参数就行
例如:
java -Xdebug -Xrunjdwp:transport=dt_socket,address=5005,server=y,suspend=y -jar netty4server.jar
补充个概念: jvm jpda suspend的意义
- suspend=y是jpda_options的参数之一,jpda即jvm远程调试,其中server=y是指的该jvm是被远程调试的对象,如果关闭,则该jvm启动的应用是不能被远程连接调试的。 suspend是暂停、延缓、挂起的意思,如果suspend=y表示远程调试线程立即启动挂起,直到远程调试被连接上。如果希望从jvm启动的那一刻即可被调试,需要将suspend=y。
来源:oschina
链接:https://my.oschina.net/u/3730149/blog/3234456