1、idea的设定
1.1加入Tomcat服务器并选择Remote
1.2 :设置相应参数
xxx.xxx.152.67:8080是远程Tomcat服务器的IP地址和端口,您可以在此设置域名。 例如http://security.xxxx.cn/login.do;
60222端口是在步骤1.1中设置的调试端口。 适合tomcat的端口不同
其中的远程staging选择了same file system。 因此,本地代码和远程Tomcat代码始终为1
1.3启动/连接
选择调试、套接字和调试端口,这里是60222
1.4 :选择执行
然后点击右边的调试就可以运行了。 (首先Tomcat启动。 )
1.5 :成功与否
可以看到连接成功,
检查Tomcatserver日志。 例如,以下:
6、假设失败
假设端口被拒绝:
如果tomcat未启动或由于错误而停止,则重新启动tomcat可能就足够了
连接失败。 其他问题
首先,在服务器端确认调试端口。 这里是60222的使用状况
使用netstat
使用netstat-ANP|grep 80 netstat-tln|grep 80
检查PS-ef是否已关闭
查看tail - f 10000 catalina.out日志
我不擅长使用lsof,不知道为什么
kill -9 12122删除进程
2、Linux服务器设置
将以下定义添加到tomcat下bin文件夹下的catalina.sh文件中:
catalina _ opts='-xdebug-xrunjdwp : transport=dt _ socket,address=60222,suspend=n,server=y '
扩展:
Tomcat的catalina.sh文件中的server启动停止脚本适用于两个变量: CATALINA_OPTS和JAVA_OPTS。 保存运行Tomcat所需的各种参数。
文件中的评论如下:
(可选) Java执行“开始”、“停止”或“运行时”命令时使用的运行时参数; [JAVA_OPTS]
(可选) Java执行“开始”或“运行时”命令时使用的运行时参数; [CATALINA_OPTS]
那么,为什么有两个不同的变量? 他们有什么区别?
首先,两个变量中定义的参数都传递给启动Tomcat的命令。 在' start '和' run '中,只有在JAVA_OPTS中定义的参数传递给' stop '命令。
因此,为任何变量定义参数都不会影响Tomcat的启动和执行,而只会影响Tomcat的执行结束。
第二个区别更微妙。 其他APP应用程序也可以使用JAVA_OPTS,但Tomcat仅使用CATALINA_OPTS。 因此,如果只使用Tomcat,则在设置环境变量时必须使用CATALINA_OPTS;如果也使用其他Java APP应用程序(如JBoss ),则在设置环境变量时必须使用JAVA_OPTS。
注意: address=60222这是稍后安装IDEA时所需的调试端口,您可以自由设置未使用的端口。 但是,后面的配置必须一致。
3 .参数说明:
1. JAVA支持调试功能,并提供简单的调试工具JDB以支持断点设置和线程级调试;
2 .各参数说明:
-XDEBUG通知JVM正在调试模式下运行
-Xrunjdwp通知JVM使用“Java调试wire协议”运行调试环境。 此参数还提供了一组调试选项:
传输指定调试数据的传输方式。 dt_socket指定套接字模式,dt_shmem指定共享内存方式。 其中dt_shmem仅适用于Windows平台。
服务器参数是指服务器模式的虚拟机是否支持。
onthrow表示生成此类型的Exception时,JVM将中断并进行调整。 此参数是可选的。
launch指示JVM中断时执行的可执行程序。 此参数是可选的
suspend指示是否在建立调试客户端后运行JVM。
onuncaught(=y或n )指示发生uncaught exception后是否中断JVM的运行。
扩展: