远程调试Tomcat

17 篇文章 0 订阅
调试分两种
1.没有远程调试环境
这种情况下只能通过查看远程服务器上的log来调试,如果在异常信息中出现unknown source说明编译的时候没有加入行号的信息,按如下修改
a)通过javac编译时,默认相当于指定-g:source,lines,这样编译出来的class文件中会包含源代码和行号信息
b)而通过ant编译时,默认相当于指定-g:none,这样编译出来的class文件会比较小,但是不包含任何调试信息,所以出错的时候就会打印出unknown source。修改ant的编译文件如下:

<javac destdir="${build.classes}" srcdir="${src.java}"
classpathref="lib.classpath" encoding="utf-8"
debug="true" debuglevel="source,lines,vars"/>


2.有远程调试环境(即开发机可以连接服务器)

修改%TOMCAT_HOME%\bin\startup.bat最后部分的内容。
set JPDA_ADDRESS=8114
set JPDA_TRANSPORT=dt_socket
set JPDA_SUSPEND=y
call "%EXECUTABLE%" jpda start %CMD_LINE_ARGS%
修改后另存为jpda.bat

然后在eclipse中操作如下:
Debug Configurations -> 新建Remote Java Application,取名字为"myDebug"
Project:调试的工程
Connection Type: Standard(Socket Attach)
Connection Properties:
Host:远程服务器地址
Port:8114
Allow termination of remote VM 打上勾。

ok了,在服务器端先运行jpda.bat,控制台显示如下信息,之后就处于等待状态了:
Listening for transport dt_socket at address: 8114

然后在eclipse中启动myDebug

这时候可以看到远程服务器的控制台又继续运行了。

等待远程服务启动完毕,现在试着在eclipse中的程序中打个断点,然后打开IE访问远程的应用,哈哈,是不是eclipse停在了你打的断点那里了。

恩恩,到此为止。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值