本文共 887 字,大约阅读时间需要 2 分钟。
调试分两种 1.没有远程调试环境 这种情况下只能通过查看远程服务器上的log来调试,如果在异常信息中出现unknown source说明编译的时候没有加入行号的信息,按如下修改 a)通过javac编译时,默认相当于指定-g:source,lines,这样编译出来的class文件中会包含源代码和行号信息 b)而通过ant编译时,默认相当于指定-g:none,这样编译出来的class文件会比较小,但是不包含任何调试信息,所以出错的时候就会打印出unknown source。修改ant的编译文件如下: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停在了你打的断点那里了。 恩恩,到此为止。
转载地址:http://hygmi.baihongyu.com/