终于忍受不了Applet的调试了

最新版本见 Eclipse远程调试java

 

^ ^

 

总结:

1 凡事都存在联系——平时无意中的动作,平时要多点点,看看,反正闲着也是闲着: )

2 试——以前抱怨客户不会用我们的软件,今天发现如果软件不是自己制作的那么当然不会知道第四步的了,否则还会到网络上去找,不过我看网络上的好像都是针对attach的,也是我的运气好了,否则可能我会认为远程调试只会是一种了,另外一种就不会去思考了,看来提示信息很重要,以后做软件的时候能够多提示的多提示

3 深入了解——需要多了解,搜索后才知道原来是JPDA

看来j2ee还有很多东西需要学习啊。。。兴奋中。。

 

--->下面的内容请不要看了直接到:  Eclipse远程调试java


 

 

 

今天终于忍受不了不断的关闭打开浏览器调试Applet 了,想方法可以调试applet 就好了!

一直忍受着这个,今天决定动手干了!

  笔者的环境是Eclipse3.4Myeclipse7.0M2(^ ^ 序列号嘛。。。)

原理:一直使用着myeclipse 提供的tomcat ,里面有个配置项为launch 中有个debugrun ,一直觉得调试java 肯定是可行的!(依稀记得jdk 中允许一个叫做远程调试的功能,今天就可以试验了)

 

图1 tomcat的Launch设置面板

Debug mode Run mode 的差别如图

 

图2 tomcat不同启动模式的差异

红色方框中的只有 debug mode 时才会出现,相信大家都用过 debug 透视图,这里的方框里面有些什么内容都比较清楚就不多说了,下面开始分析他们的差异:

 

首先明确:

1 方框内的就是一个调试器( ^ ^ 有时候会遇到什么主机连接失败,就会发现方框内的都会消失,这个时候就无法监控 tomcat 了,所以方框内应该是一个监视器)

2 方框下的应该就是真实的 tomcat 的运行了

 

步骤:

1 首先收集不同模式下的 tomcat 启动命令差异,可以直接点方框下面的然后右键查看 properites 菜单,找到启动命令,然后寻找他们的差异:

  差异: debug 模式多了一些参数 ^ ^ 如果贴出来太长了,我就只列出来差异的部分了

-agentlib:jdwp=transport=dt_socket,suspend=y,address=localhost:1982

结论: 我想应该就是这几个参数开启了 debug

 

2 分析监视程序的命令,方法同上,察看红框框的 javaw 的启动命令找到关键点:

-agentlib:jdwp=transport=dt_socket,suspend=y,address=localhost:1982

 

发现 1 2 的命令行完全一样,郁闷了,直接复制他们了到命令行运行程序,修改 javaw java 运行,没有用抱错,郁闷 ) : 先放放再说

 

开始试验:

1 添加参数到 applet 启动项 (window-> 控制面板 ->java 控制台 )

添加: -agentlib:jdwp=transport=dt_socket,suspend=y,address=localhost:888

2 怎样连接上去呢,不知道了,幸亏以前对于 eclipse 什么都喜欢点点,也喜欢浏览各个菜单有些什么选项。很久以前调试 ejb 的时候无意中看到这个选项随意查过,就试一下了。

按照以下步骤操作:

 

图3 Eclipse的远程调试设置

 

注意第四步,我刚开始的时候选择的是 Standard(Socket Attach) ,发现打开 IE 后怎么也连接不上,运行就报错(今天(2008-10-26)发现在Linux下连接类型只有选项Socket Attach方式,而没有监听方式了 注:MyEclipse6.5环境)

后来仔细看了后选择了 Socket Listen ,看意思就知道是监听,所以。。。运行 Applet 就进入了调试模式了,终于可以调试 Applet 了!

 

问题:应该选择 Socket Attach 也可以调试,为什么不能够呢?

Google 了下 jvm 远程调试,一下就找到了一个参数:

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

具体参看: http://hi.baidu.com/widebright/blog/item/fb4c3b12e81ad455f819b825.html 文章

按照以上的参数,在上面的远程调试时的第四步时选择 Socket Attache ,就可以连接上 applet 的程序了,不过你会发现 Socket Listen 无法正常运行了。

 

呵呵,终于可以调试 Applet 了一个字爽。

 

^ ^

 

总结:

1 凡事都存在联系——平时无意中的动作,平时要多点点,看看,反正闲着也是闲着: )

2 试——以前抱怨客户不会用我们的软件,今天发现如果软件不是自己制作的那么当然不会知道第四步的了,否则还会到网络上去找,不过我看网络上的好像都是针对attach的,也是我的运气好了,否则可能我会认为远程调试只会是一种了,另外一种就不会去思考了,看来提示信息很重要,以后做软件的时候能够多提示的多提示

3 深入了解——需要多了解,搜索后才知道原来是JPDA

看来j2ee还有很多东西需要学习啊。。。兴奋中。。。

下面的是广告:

全牛皮!不一样的感觉~素面爆款~直筒靴子!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值