java Remote debug--应用于osgi和tomcat

一:远程调试osgi项目

1,远程端配置:

在项目的同目录中建一个启动脚本,我的是run-debug-mode.sh。

java -Xdebug -Xms64m -Xmx128m -Xrunjdwp:transport=dt_socket,address=9527,server=y,suspend=y -jar 1352967834941.jar 2>/dev/null >/dev/null &

中间这些参数正是为了Remote debug而设:

  -XDebug启用调试

  -Xrunjdwp加载JDWP的JPDA参考执行实例。

  transport 用于在调试程序和 VM 使用的进程之间通讯。

  dt_socket套接字传输。

  server=y/nVM 是否需要作为调试服务器执行。

  address=9527调试服务器监听的端口号。

  suspend=y/n是否在调试客户端建立连接之后启动 VM 。

  关于suspend多说一句,如果设置为y,它会阻塞程序运行,直到有客户端连接到对应的监听端口(这里是9527),程序才真正开始执行。我们有时候会抱怨程序一闪而过,还没来得及在本地加载上代码程序就执行完了,这种情况就可以使用suspend参数。

 还有一个细节是-jar参数不能写到-Xdebug参数前,这样无法启用调试。

然后输入命令./run-debug-mode.sh启动项目。

2,客户端配置:




对于osgi项目一般bundle比较多,在上面的配置,选择Project时只需选择代码在最前面执行的包就可以了。不需要每个bundle都配置。



完了点击Debug。在需要的地方断点调试。注意远程的代码必须和本地代码一致,否则调试的信息不对。

2:对部署在tomcat的web远程debug

只有下面一步不同,其它都一样。


具体方法参见:http://jingyan.baidu.com/article/148a192199c7a24d71c3b103.html



你可能感兴趣的:(java,tomcat,debug,osgi)