我刚毕业,菜鸟一只。
刚刚工作,公司有一个swing开发的富客户端的程序。客户端和服务器端的交互使用session beans,服务器和database的交互使用JNDI。服务器是jboss。
公司帮助我配置了Eclipse的remote debug。
我对此的理解如下:
1. 平时调程序(我写的小程序)的逻辑是:run程序。出现bug,根据exception修改,改好再run,没问题了就ok了。
2. 但是纯靠Eclipse我是跑不了这个c/s的程序的。需要服务器才能跑,这是必须的。
3. 所以现在我猜测的调试程序的逻辑是:首先,我用eclipse连接了jboss,所以程序在运行过程(这里的运行不是点击run运行,而是像普通用户一样启动客户端连接服务器运行程序)中如果出现任何问题,在jboss控制台中出现的错误信息会显示在eclipse的debug界面中,以方便调试,这是一个好处。所以,如果出现任何问题,我经根据出现的问题在eclipse中进行修改。然后点击ant重新将修改过的程序自动部署到jboss服务器上,然后再重新运行(像普通用户一样运行)程序,看修改后的结果。
请问我的理解对吗?
4. 我做过b/s的java程序,我新建一个dynamic web project,然后选定我开发使用的服务器,比如tomcat,然后我写一个servlet,可以点击eclipse里的run运行这个servlet,看到返回结果,返回结果在eclipse,就像显示在一个小浏览器里一样,如果有错也可以爆出来,然后根据错误进行修改。也可以启动本机浏览器请求本机服务器上的servlet。我认为我现在c/s的调试与b/s的调试不一样的是我不能用run按钮run程序,而是需要像普通用户一样启动客户端,服务器端出现的任何错误会显示在我的eclipse里,以帮助我修改代码,对吗?如果是客户端出现错误也会显示出来吗?
希望使用过这个的人就用简单语言给我描述一下debug的流程,我就明白其中的逻辑了。万分感谢。非常感谢。

解决方案 »

  1.   

    我觉得是jboss提供了调试用的接口,可以让eclpse去指定断点,或提供一些钩子之类的。这方面的专家比较少了。关注。
      

  2.   

    看一下JDK的JPDA,JVM提供的DEBUG方法.
    远程DEBUG就是用的这个.
      

  3.   

    感觉测试是一个非常重要的开发过程,甚至重要过coding。
    一般我们的程序,都是先自己做Unit Testing,用junit写一些测试用例,这样可以发现问多很多的问题都会暴露出来,当然这里我们做的Unit Testing,是针对DAO,Service层的。至于web层,我们没有做测试。一般我们都通过界面测试的。
    对于你说的富客户端程序,dao,servie 我认为还是自己先做一下单元测试。然后在在展示端在测试。