`
buddie
  • 浏览: 185046 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

eclipse调试远程Tomcat(java\javaee)项目

 
阅读更多

Eclipse工具有自带的调试远程Java项目的功能。

当然,使用Eclipse远程调试工具的前提是远程的Java项目需要支持远程调试。

这里我们以远程调试Tomcat容器中的JavaEE项目为例。纯Java项目也是同样的道理。

这里我们需要使用JPDA(JavaTM Platform Debugger Architecture),从J2SE1.4.2就已经设计并实现了这种体系结构。

JPDA体系结构又包括3个主要组成部分:JVM TI、JDI和JDWP。

其中JVM为Java Virtual Machine Tool Interface,JDI为Java Debug Interface,JDWP为Java Debug Wire Protocol

 

在启动远程的Java项目,我们需要加入参数

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

其中address为远程调试的端口,与项目本身占用的端口不是同一个;suspend为在程序程序时,是否挂起,等级远程调试工具连接后,再继续。如果不想因为调试而影响项目的正常启动,就将suspend设置为n。

 

对于Tomcat容器,我们只要在容器启动时,说明使用JPDA即可。

编辑Tomcat窗口的启动脚本startup.sh(Window用户为startup.bat)

在将最后一行

 

exec "$PRGDIR"/"$EXECUTABLE" start "$@"

 

改为

 

exec "$PRGDIR"/"$EXECUTABLE" jpda start "$@"

 这样,通过startup.sh启动Tomcat容器时,就开始监听8000端口,等待远程调试工具通过8000端口接入。这时我们可以通过Eclipse的远程调试工具通过8000端口进行调试。

 

如果8000端口已经被占用,想换个端口,或不想让Tomcat等待远程调试工具的接入而直接启动完毕,那我们就到catalina.sh中设置参数

 

JPDA_ADDRESS=8765
JPDA_TRANSPORT=dt_socket
JPDA_SUSPEND=n

 这样,我们就改用了8765端口做为远程调试端口;使用SOCKET方式进行通信;当未连接远程调试工具时,程序不再掛,而是直接继续执行。

 

 

通过以上设置后,startup.sh启动Tomcat,这时Tomcat就支持远程调试了。

 

下面简单说一下eclipse远程调试工具的设置

菜单Run-Debug Configurations...或工具栏中debug图标旁的下三角-Debug Configurations...


 
双击“Remote Java Application”,新建一个远程配制。

Project为服务器上的项目,Host为服务器IP,Port为上面设置的JPDA_ADDRESS端口,Apply,Debug

 

然后,在源码中的某处设置断点,当服务器上的程序执行到这个位置时,本地的Eclipse就停在该断点处,可以进行调试。
 

 参考文档:

http://blog.csdn.net/jarfield/article/details/5250915

http://www.oschina.net/question/12_8196

  • 大小: 194.1 KB
分享到:
评论

相关推荐

    eclipse-javaEE-x64 支持jdk1.7

    接着,你可以运行"Eclipse"文件来启动IDE,然后根据个人需求配置工作空间,导入或创建新的Java或JavaEE项目。 为了充分利用Eclipse的JavaEE功能,你还需要配置Eclipse以连接到本地或远程服务器。这可以通过Eclipse...

    tomcat9.0 to eclipse开发javaweb工程

    在部署JavaWeb应用到Tomcat 9.0时,Eclipse允许开发者直接将项目发布到本地或远程的Tomcat服务器上。只需右键点击项目,选择“发布”选项,Eclipse会自动处理应用的打包和部署过程,将其放入Tomcat的webapps目录下。...

    javaee框架技术aa

    10. **测试与调试**:JUnit和TestNG是Java单元测试的常用工具,而远程调试工具如Eclipse或IntelliJ IDEA的远程调试功能,以及日志框架如Log4j,都是开发过程中不可或缺的辅助手段。 以上就是关于"JavaEE框架技术aa...

    eclipse-jee-2021-12-RC1-win32-x86_64.zip

    5. **调试工具**:强大的调试器可以对Java EE应用进行多线程、远程和并发调试。 6. **Git集成**:内置Git版本控制系统,便于团队协作和代码管理。 7. **插件扩展**:Eclipse的开放性允许用户安装各种第三方插件,...

    eclipse Luna(jee) SR2 for Linux 64位 安装包 gtk

    Eclipse Luna是Eclipse IDE的一个特定版本,专为Java Enterprise Edition (JavaEE) 开发而设计。Luna是Eclipse的第四个主要发行版,它提供了丰富的开发工具和功能,支持包括Web、企业应用程序和移动应用程序在内的...

    eclipse-jee-juno-SR1-win32.zip

    在使用Eclipse进行Java EE开发时,你可以创建Web项目,使用内置的Tomcat或Jetty服务器进行本地调试,编写Servlet、JSP和JavaBean,利用JPA进行持久化操作,通过JMS进行消息传递,还可以通过WSDL和SOAP进行Web服务的...

    eclipse-inst-jre-win64.rar

    此外,Eclipse的Debug视图使得远程和本地调试变得轻松,能直观地查看和修改变量值、设置断点以及跟踪调用堆栈。 在Eclipse中,开发者可以创建Maven或Gradle项目,这些构建工具可以帮助管理依赖关系并自动化构建过程...

    j2ee 开发工具教程

    4. **部署和运行**:你可以将项目部署到本地或远程服务器,如Tomcat或WebLogic,通过内置的服务器视图进行配置和启动。 ### 六、总结 Eclipse 3.2.1及其插件的安装与使用是J2EE开发的必备技能。通过深入理解和实践...

    JAVAEE资料

    1. **基础环境搭建**:讲解如何安装JDK、配置环境变量,以及设置JAVAEE开发工具,如Eclipse或IntelliJ IDEA,以及如何配置Tomcat或Glassfish等应用服务器。 2. **Servlet编程**:介绍Servlet生命周期,包括初始化、...

    《程序天下:J2EE整合详解与典型案例》光盘源码

    13.8.11 设定调查子项目实现类SetSurveyChildImpl.java 13.8.12 统计调查结果实现类SetSurveyChildCountImpl.java 13.9 编写网上调查系统的控制器类 13.9.1 登录控制器类LoginAction.java 13.9.2 注册控制器类...

    MyEclipse 6 java EE 开发中文手册

    - 集成的调试工具:支持远程调试、多线程调试等,方便开发者追踪和解决问题。 - 数据库管理和查询工具:通过内置的Database Explorer可以轻松地管理数据库表结构、执行SQL语句等。 ### 2. 安装配置MyEclipse及其...

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (2)

    13.8.11 设定调查子项目实现类SetSurveyChildImpl.java 13.8.12 统计调查结果实现类SetSurveyChildCountImpl.java 13.9 编写网上调查系统的控制器类 13.9.1 登录控制器类LoginAction.java 13.9.2 注册控制器类...

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (1)

    13.8.11 设定调查子项目实现类SetSurveyChildImpl.java 13.8.12 统计调查结果实现类SetSurveyChildCountImpl.java 13.9 编写网上调查系统的控制器类 13.9.1 登录控制器类LoginAction.java 13.9.2 注册控制器类...

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (3)

    13.8.11 设定调查子项目实现类SetSurveyChildImpl.java 13.8.12 统计调查结果实现类SetSurveyChildCountImpl.java 13.9 编写网上调查系统的控制器类 13.9.1 登录控制器类LoginAction.java 13.9.2 注册控制器类...

    基于Android和JavaEE的故障管理系统设计与实现(文献检索).doc

    在这个项目中,Eclipse可能作为开发工具,帮助开发者编写、调试和测试代码。 6. **数据库管理**:MySQL是一种关系型数据库管理系统,适用于处理大量数据。在故障管理系统中,MySQL用于存储设备信息、故障记录、解决...

    Java Web快速入门——全十讲

    开发工具的选择同样重要,Eclipse、NetBeans、IntelliJ IDEA等都是优秀的Java IDE,它们提供了代码编辑、调试、构建等功能,极大地提高了开发效率。 #### 四、应用部署与配置:Tomcat中的webapps目录 在Tomcat中,...

    Java技术体系图.docx

    Eclipse是一款流行的Java集成开发环境,提供了代码编辑、调试、构建和部署等功能。在Linux环境下,Java程序的开发和部署也需要对操作系统的理解和熟悉。 2. **Java语法基础**:Java是一种面向对象的语言,其基础...

    IT技术文章示例

    BlazeDS是一个Adobe提供的实时数据和远程调用解决方案,它可以作为Flex和Java之间的桥梁,实现双向数据流和远程过程调用。利用BlazeDS,Flex客户端可以订阅Java服务器上的事件,实时获取更新数据,同时也可以调用...

    BLAZEDS Developer Guide

    1. **Remoting Service(远程服务)**:使Flex应用程序能够直接调用部署在应用服务器中的Java对象的方法。这提供了与后端业务逻辑的直接交互,使得前端展示层能够灵活地获取和更新后端数据。 2. **Message Service...

Global site tag (gtag.js) - Google Analytics