java

位置:IT落伍者 >> java >> 浏览文章

技术分享 配置Eclipse进行远程调试二(图)


发布日期:2022年12月06日
 
技术分享 配置Eclipse进行远程调试二(图)

配置Eclipse进行远程调试

为了能在Eclipse中远程调试JBoss应用需要以debug模式启动JBoss服务器这可以通过在批命令脚本文件bin/run中设置debug选项来实现JBoss提供的调试机制是基于Java平台调试架构(JPDA)的按以下方式设置JAVA_OPTS变量

set JAVA_OPTS= Xdebug Xnoagent Xrunjdwp:transport=dt_socketaddress=server=y suspend=n %JAVA_OPTS%

这些debug参数有

有关debug参数设置的详细说明参见JPDA文档

为了演示Eclipse的远程调试功能需要在JBossServlet中抛出异常为此我们在JBossServletjava中引入NullPointerException(空指针异常)把原先的代码

outprintln(Eclipse JBossDebugging);

改为

String str=null;outprintln(strtoString());

接下来为该Eclipse项目的远程调试进行设置在Debug选项下拉条中选择Debug选项如图所示

Debug选项

图中显示的是Debug屏在该屏中选中Remote Java Application节点右击节点选择New如图所示

新的debug设置

在Debug Configuration屏中为Debug设置指定名字选中要调试的项目也就是此前在Eclipse IDE中创建的EclipseJBoss项目为Connection Type(连接类型)选择默认值在Connection Properties(连接属性)中将Host指定为localhost将Port(端口)指定为(JBoss服务器批命令脚本run中的端口设定值)点击Apply按钮将此远程Java应用调试设置加入如图所示

JBoss调试设置

接下来在JBossServletjava文件中加入异常断点此前我们已在JBossServlet中引入了NullPointerException异常选择Run > Add Java Exception Breakpoint在该servlet类中加入断点如图所示

educitycn/img_///gif >

加入Java异常断点

在Add Java Exception Breakpoint屏中选择NullPointerException如图所示NullPointerException断点被加入到servlet类中

educitycn/img_///gif >

NullPointerException断点

如果servlet应用在JBoss服务器上运行时产生了NullPointerException异常该应用就会被挂起同时Eclipse IDE的Debug视图中会显示出该异常

远程调试JBoss应用

为部署在JBoss服务器上的servlet示例应用配置好debug设置后我们就可以在Eclipse IDE中调试servlet应用了参照用Eclipse开发一个JBoss应用一节所说的方法用buildxml文件对修改后(引入了NullPointerException异常)的JBossServletclass重新编译为web应用生成新的webappwar文件在run批命令脚本中设定调试选项以debug模式启动JBoss服务器

接下来在Debug屏中选择EclipseDebug作为调试设置点击Debug按钮将远程调试器与JBoss服务器连接如图所示

educitycn/img_///gif >

将远程调试器连接到JBoss服务器上

这样Eclipse的远程调试器就连接到了JBoss服务器上选择Debug Perspective按钮切换到Eclipse的Debug视图在该视图中显示出远程调试器已连接到本机的JBoss服务器上端口号为如图所示

educitycn/img_///gif >

远程调试器已连接到JBoss服务器上

在浏览器中输入URL地//localhost:/webapp/catalog来访问JBoss服务器上的JBossServlet就像我们在Debug视图中看到的那样servlet因抛出NullPointerException异常而被挂起产生了异常的那一行代码被显示出来如图所示

educitycn/img_///gif >

JBoss服务器在产生NullPointerException处被挂起

抛出异常的那一行是outprintln(strtoString());我们可以在Eclipse IDE的Run菜单中选择不同的调试选项对该servlet应用进行调试

小结

我们在Eclipse IDE中以远程的方式调试了部署在JBoss服务器上的一个应用只要将服务器设置成以debug模式启动我们就可以用这个方法调试部署在其它类型应用服务器(如Weblogic)上的应用

上一篇:Jakarta Struts应用的七个经验(1)

下一篇:JBPM 整合 Drools(JBoss Rule)