首页 » 语言&开发 » Java » Tomcat开启Jpda支持(远程调试)

Tomcat开启Jpda支持(远程调试)

 

遇到运行态的bug错误,本地的话可以debug,远程的话通常可以通过日志等来观察和测试运行态中的环境。
但是如果程序运行在远程环境上,根本无法修改程序、又或者想减少相关日志代码频繁修改等等情况?

可以尝试JPDA.

启动tomcat的jpda支持

默认情况下tomcat的启动命令是:

 ./catalina.sh start 

该命令是没有启动我们的jpda服务。

tomcat提供了集成了Jpda服务,只需要:

 ./catalina.sh jpda start

这样就启动了我们服务器jvm的jpda服务了。

tomcat默认的jpda服务的端口是8000,这个时候我们使用命令看下 netstat -an,看看8000端口是不是已经启动了。

查看./catalina.sh文件可以看到Tomcat默认的配置,如果想修改端口的话,
只需要将JPDA_ADDRESS修改为没使用的一个端口即可。


if [ "$1" = "jpda" ] ; then if [ -z "$JPDA_TRANSPORT" ]; then JPDA_TRANSPORT="dt_socket" fi if [ -z "$JPDA_ADDRESS" ]; then JPDA_ADDRESS="8000" fi if [ -z "$JPDA_SUSPEND" ]; then JPDA_SUSPEND="n" fi if [ -z "$JPDA_OPTS" ]; then JPDA_OPTS="-agentlib:jdwp=transport=$JPDA_TRANSPORT,address=$JPDA_ADDRESS,server=y,suspend=$JPDA_SUSPEND" fi CATALINA_OPTS="$CATALINA_OPTS $JPDA_OPTS" shift fi

IDEA中配置远程调试

1、在IDEA的“Edit Configuration” 中选择 + "Add New Configuration"。

2、在弹出的列表中选择“Remote” ,弹出一个需要填写参数的对话框。

3、在弹出的框中,定义名称,选择要断点调试的项目,transport选择socket。debugger mode选择attach。
host填写远程tomcat地址,端口选择上面JPDA_ADDRESS配置的端口。

4、像普通项目一样debug这个Remote项目即可,可以在项目上进行类似本地项目的debug了。



原文链接:Tomcat开启Jpda支持(远程调试),转载请注明来源!

0