Java Applet 程序的远程调试

      对于在本地运行的程序,一般开发人员都知道如何运用调试工具进行调试, 但是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,则每次启动程序都会自动挂起,直到远程调试机器连接上后才继续执行。这样就可以从程序入口处单步跟踪程序的执行过程了。    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值