tomcat如何以debug模式启动

来源:互联网 发布:php 接口签名验证 编辑:程序博客网 时间:2024/05/17 04:34

1, 编辑tomcat\bin\catalina.bat,在

rem Guess CATALINA_HOME if not defined
set "CURRENT_DIR=�%"

前添加以下代码以绑定一个端口8787:

if ""%1"" == ""stop"" goto skip_config

SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8787

:skip_config

address指的是将启动8787端口进行绑定.

2, 在eclipse中进行配置:

 右键工程->Debug as->Debug Configurations

tomcat如何以debug模式启动

在弹出的设置框中找到 Remote Java Application 下面会有自己的工程,将port设置为8787,然后apply->close:

Eclipse
两种方法
1、先设置好断点
2、启动Debug模式时,设置到main暂停

1、远程debug(这个大家基本都会)
就是本机的eclipse来debug远程的java进程,需要两个步骤。
第一个:java进程启动的时候,加入可以debug的参数
(-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=$DEBUG_PORT,server=y,suspend=n);
第二个:eclipse中新建一个remote java applicaiton,添加host和端口即可

2、远程启动时debug
有时候,是java进程启动的时候出现的问题,需要在启动时就开始debug,这时候咋搞呢?
java进程中有个参数,suspend=n 把n改成y,这时候,服务器会等待外部连接debug端口,连上了之后再进行JVM的启动操作

3、抛出异常时进行debug
顾名思义,就是在抛出异常的时候来断点,这个对于排查异常抛出的时候很有帮助。
在breakpoint视图,有个“J”这样的图标,选择这个,输入异常的类型,就可以开搞了

4、指定参数进行debug
尤其是for循环的时候,只有在特定的参数下才会处错误,如果逐个过滤过去,那其实是很费事的一件事情,所以有个办法,就是对于断点加条件
选择断点--然后选择属性--选择条件--开始写条件即可

5、运行的时候,怎么动态写代码
在debug的过程中,有时候有些逻辑没有,如果新加,这个断点可能就过去了,
或者服务器端还要重新部署,所以有临时写代码的需求,
这时候,可以打开"display"视图,在里面写代码,直接运行即可


幻灯播放
0 0