目标:
远程调试对应用程序开发十分有用。例如,为不能托管开发平台的低端机器开发程序,或在专用的机器上(比如服务不能中断的 Web 服务器)调试程序。其他情况包括:运行在内存小或 CUP 性能低的设备上的 Java 应用程序(比如移动设备),或者开发人员想要将应用程序和开发环境分开,等等
条件:
1.如果您还没安装该程序,请下载 Eclipse V3.4(Ganymede)。在 Ganymede 中,套接字(socket)监听连接器被添加到 Remote Java Application 启动配置类型。Eclipse 最新的套接字监听连接器允许您打开 Java 调试器,它能够监听特定套接字上的连接。可以从命令行选项打开被调试的程序,并将其连接到调试器。在 Ganymede 发布之前,仅有一个连接套接字的连接器,被调试的程序所在的机器必须是一个与调试器相连的调试主机。由于受到内存和 CPU 不足的限制,要想让移动设备充当主机是不现实的。
2.为了进行远程调试,必须使用 Java Virtual Machine (JVM) V5.0 或更新版本,比如 IBM® J9 或 Sun Microsystem 的 Java SE Development Kit(JDK)。本文主要讨论远程调试,而不是每个 Eclipse 调试特性的细节。
3.要进行调试,要保证eclipse中的代码和远程linux中的tomcat中的放置的代码一致
概念:
Sun Microsystem 的 Java Platform Debugger Architecture (JPDA) 技术是一个多层架构,使您能够在各种环境中轻松调试 Java 应用程序。JPDA 由两个接口(分别是 JVM Tool Interface 和 JDI)、一个协议(Java Debug Wire Protocol)和两个用于合并它们的软件组件(后端和前端)组成。它的设计目的是让调试人员在任何环境中都可以进行调试。JPDA 不仅能够用于桌面系统,而且能够在嵌入式系统上很好地工作。
JVM Tool Interface (JVMTI) 规定必须为调试提供 VM(编辑注:从 Java V5 开始,将用 JVMTI 代替 Java V1.4 中的 JVMDI)。Java Debug Wire Protocol (JDWP) 描述调试信息的格式,以及在被调试的进程和调试器前端之间传输的请求,调试器前端实现 JDI,比如 Eclipse、Borland JBuilder 等。根据 Sun 的 JPDA 规范,被调试的程序常常称为 debuggee。JDI 是一个高级的接口,它定义用于远程调试的信息和请求。
补充常用词:
- JDI — Java 调试接口(Java Debug Interface)
- JDT — Java 开发工具(Java Development Tools)
- JDWP — Java 调试网络协议(Java Debug Wire Protocol)
- JPDA — Java 平台调试器架构(Java Platform Debugger Architecture)
- JVM — Java 虚拟机(Java Virtual Machine)
- JVMDI — JVM 调试接口(JVM Debug Interface)
- JVMTI — JVM 工具接口(JVM Tool Interface)
- VM — 虚拟机(Virtual Machine)
配置:
1.在tomcat的catalina.sh文件的正文的第一行添加:
declare -x CATALINA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9999"
(注意,上面的代码为一行,每个人机器的分辨率不同,显示可能不尽相同)。
2.运行Linux上的tomcat\bin\catalina.sh启动tomcat,
命令如下:当前tomcat\bin目录下
输入:./catalina.sh run (这样可以看到Tomcat的信息运行信息)
如果提示没有权限,需要赋给这个脚本执行权限,这个我就不说了,凡是会linux常用命令的人都知道怎么做,
Listening for transport dt_socket at address: 9999" 这样的信息,说明调试端口已经被监听,下面会打印正常启动的日志信息。
在eclipse中的debug的参数配置中,添加要调试的项目名称,
添加要tomcat所在的主机的IP 地址和tomcat 调试的端口号address=9999。
然后点击debug 按钮,如下图
通过正常的访问方式(http://远程IP:8080/index.jsp),进行代码的调试工作(有的人在地址处说要给localhost,但是经过本人的尝试,是不可以的,必须和正常访问的相同)。
现在就可以在调试的地方打断点进行调试了。(进入debug模式,然后发现一个删掉的标志,停止按钮的右边,表示已经和远程的Linux下的tomcat链接上了,然后就可以本地调试了),如下图:
以下是本文用到的参数:
从 Java V5 开始,您可以使用 -agentlib:jdwp 选项,而不是 -Xdebug 和 -Xrunjdwp。但如果连接到 V5 以前的 VM,只能选择 -Xdebug 和 -Xrunjdwp。下面简单描述 -Xrunjdwp 子选项。
第二种方法:
用Java的JPDA远程调试程序
在catalina.sh的配置文件中,修改JPDA_ADDRESS 对于的端口(要进行远程调试的端口),
使用命令./catalina.sh jpda start
启动tomcat服务
4. 在eclipse中的debug的参数配置中,添加要调试的项目名称,
添加要tomcat所在的主机的IP 地址和tomcat 调试的端口号address=9999。
然后点击debug 按钮。
通过正常的访问方式(http://远程IP:8080/index.jsp),进行代码的调试工作(有的人在地址处说要给localhost,但是经过本人的尝试,是不可以的,必须和正常访问的相同)。
解决:Eclipse调试tomcat时报45秒超时 2011-12-21 14:07:16标签:tomcat 职场 休闲 45秒
修改 workspace\.metadata\.plugins\org.eclipse.wst.server.core\servers.xml文件。
在eclipse下双机tomcat就可以看到Tomcat的servers.xml配置文件,修改其中timeout的参数值,我一般都是修改为4500.
以上是我在工作遇到的问题,然后找资料总结出来的东西,如有雷同,纯属巧合。
相关推荐
通过这种方式,开发者可以在本地Eclipse环境中调试远程服务器上的Tomcat应用,无需频繁地在本地和服务器之间切换,提高了开发效率。不过,需要注意的是,开启远程调试会暴露服务器的调试端口,因此在生产环境中进行...
本文将详细介绍如何通过Eclipse集成开发环境(IDE)配合Apache Tomcat应用服务器实现远程调试的功能。 #### 二、准备工作 在开始配置之前,请确保已经安装了以下组件: - **Eclipse IDE**:推荐使用最新版Eclipse...
在将Window上的Tomcat项目迁移到Linux系统时,主要涉及以下几个关键步骤: 1. **JDK的配置**: - 首先,需要从Oracle官网(现在是 AdoptOpenJDK 或 Amazon Corretto 等提供者)下载适用于Linux平台的JDK。确保下载...
本文将详细介绍如何利用Eclipse、SecureCRT和Xming来搭建这样一个环境,使得开发者可以在Windows下享受到图形化的开发体验,而实际的编译和运行过程都在远程Linux主机上进行。 首先,你需要确保具备以下软件和环境...
"window和linux通用版Tomcat"强调的是其跨平台的兼容性,允许用户在不同操作系统环境下使用相同的Web服务。Tomcat 6.0.16虽然较老,但其核心功能仍能胜任许多应用场景。理解如何在Windows和Linux上部署和配置Tomcat...
你可以创建新的Java项目,编写代码,使用内置的Tomcat服务器运行Web应用,或者调试远程或本地的Java进程。 9. **版本控制**:Eclipse集成了Git和其他版本控制系统,允许你轻松地管理代码库,进行版本控制和协同开发...
通过配合使用 VSCode 的远程开发插件,可以在 Windows 操作系统上便捷地进行 Linux(例如 ConteOS)环境下的 C++ 开发和调试。本文将详细讲解如何配置这一工作流程。 首先,我们需要在 Windows 上完成两个主要的...
Eclipse是一款广受欢迎的开源Java集成开发环境(IDE),它为开发者提供了丰富的功能,包括代码编辑、调试、构建以及项目管理等。而Tomcat则是一款轻量级的Java应用服务器,主要用于运行Servlet和JSP应用。在Eclipse...
- 当遇到问题时,查看Eclipse的错误日志或Tomcat的logs目录下的日志文件,它们能提供错误信息和解决方案。 通过以上步骤,你就能在Eclipse中成功导入并配置Tomcat服务器,开始你的Web应用开发之旅。这只是一个基础...
将Tomcat与Eclipse集成,可以极大地提升开发和调试效率,免去手动部署应用的繁琐步骤。本文将详细讲解如何使用Eclipse的Tomcat插件以及相关的配置步骤。 首先,Eclipse的Tomcat插件允许开发者在Eclipse内部直接启动...
Tomcat远程调试的配置主要涉及到启动参数的调整,以便让Tomcat在启动时开启调试模式,并监听特定端口等待调试连接。 **1.1 bat文件启动方式** 在Tomcat的`bin`目录下,你需要编辑`catalina.bat`文件。找到`set ...
2. **调试支持**:插件支持远程和本地调试,你可以设置断点,方便地在Eclipse中调试Web应用。 3. **性能监控**:通过插件,你可以实时监控服务器的CPU使用率、内存消耗等性能指标。 4. **多版本管理**:如果你需要在...
Eclipse 是一个强大的集成开发环境(IDE),特别适合Java开发者,而Tomcat是一款流行的开源Web服务器和应用服务器,主要用于运行Java Servlets和JavaServer Pages(JSP)。在本压缩包中,我们关注的是如何在Eclipse...
在Eclipse中,通常我们会使用内置的插件(如Apache Tomcat插件)来管理和启动Tomcat服务器,但有时我们可能需要在不安装任何额外插件的情况下进行操作,例如在没有网络或特定需求下。本篇将详细介绍如何在Eclipse中...
在Linux上安装Samba,创建一个共享文件夹,将其权限设置为可读写,然后在Windows中映射该文件夹,实现跨平台的代码同步,从而在Windows环境下开发,而在Linux环境中运行和调试,减少了版本控制的繁琐操作。...
一旦以上步骤完成,你就可以在Eclipse中编写Java代码,创建动态Web项目,编写JSP文件,编写Servlet,并通过内部的Tomcat服务器进行调试和运行。Eclipse的强大之处在于它集成了版本控制、单元测试、重构等功能,大大...