其实方法很简单,基本原则就是在web server或者app server启动jvm的时候,加上jdwp参数,这样jvm会打开一个端口和jdb通讯。然后再启动jdb连接上这个端口就可以了。
具体到tomcat,可以先建立以下一个脚本:
export JPDA_ADDRESS=8000
export JPDA_TRANSPORT=dt_socket
export JPDA_SUSPEND=y
./catalina.sh jpda start
存成startdebug.sh,放在tomcat的bin目录下
然后用这个脚本启动tomcat
接着就可以用
jdb -attach 8000来启动jdb
用stop 语句设好断点。比如
stop in HelloWorldExample.doGet
然后打开浏览器,进入tomcat自带的例子中的HelloWorld Servlet中,这时候jdb应该执行到断点,就可以用jdb命令跟踪或者打印变量了。