JavaA let程序的远程调试方法

文章作者 100test 发表时间 2007:10:24 11:57:30
来源 100Test.Com百考试题网


对于在本地运行的程序,一般开发人员都知道如何运用调试工具进行调试, 但是Applet程序的调试就很不方便了。一般调试Applet程序都是使用Applet Viewer进行调试,但是某些Applet程序并不方便用Applet Viewer进行调试,例如程序依赖的Web页面是动态生成的。

下面介绍一种使用JDWP(JavaTM Debug Wire Protocol)远程调试Java应用程序的方法。

1. 在程序运行机器上为Applet程序启动时自动开启JDWP服务。
$>cd $JAVA_HOME/bin
$>./ControlPanel
在随后弹出的Java Control Panel对话框中,选择Java Tab页,在Java Applet Runtime Settings项中点击View按钮,在弹出的Java Runtime Versions对话框中设置Java Runtime Parameters为:

-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n

注:Windows上可到控制面板中运行Java控制面板程序打开Java Control Panel对话框。

2. 在Eclipse中建立Java Service Client程序的工程,使其包含需要调试的源代码。编译打包目标代码并拷贝到上一步设置好的机器上的相应目录中。注意编译时要选择打开debug模式(确保javac的调试相关参数为-g或没有。如果使用Eclipse编译,请使用Eclipse的相关设置,Eclipse默认的编译选项是打开debug选项的)。

3.在设置好的机器上启动目标程序。

4.在Eclipse中使用Debug对话框建立一个Remote Java Application调试项目。填入下列信息:
Host:程序执行机器的IP地址
Port:8000 (就是是第一步设置的address参数)

启动这个调试项目。

好了,下面可以像本地调试一样调试你的程序了。你可以随意的设置断点,修改运行时的变量值,等等。并且以后每次启动程序后,如果临时出现bug可以随时的连上去进行调试了,是不是很方便.-)

对于一般的Java应用程序和Web应用程序当然也可以用类似的方法进行远程调试了,只要在java虚拟机的命令行上添加相同的参数即可。

提示:如果将suspend参数设为y,则每次启动程序都会自动挂起,直到远程调试机器连接上后才继续执行。这样就可以从程序入口处单步跟踪程序的执行过程了。


相关文章


ecli e上完成JAVA调用C_C 实例
用例题来学习java中Timer和timertask使用方法
整合Java6脚本、Groovy实现动态MVC模式
防止重载toString方法时产生递归调用的方法
JavaA let程序的远程调试方法
关于java自动装箱与拆箱的分析
Java多媒体处理之添加播放MIDI音乐功能
Java图形程序中的对话逐字显示的实现方法
轻松扩展Ant的实现方法
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛