java tomcat 远程调试_JAVA(TOMCAT)远程调试

当我们的项目部署到远程机器(开发环境和部署环境在不同的jvm下)中,而远程机器的数据和本地有可能不一样,这个时候我们可能需要连接到远程机器进行调试。

为了解决这一问题,JAVA为我们提供了Java平台调试架构(Java Platform Debugger Architecture,简称JPDA),JPDA由Java虚拟机后端和调试平台前端组成,两者之间通过socket进行通信。

一、Java虚拟机后端(被调试jvm)

1、开启debug模式,启动debug监听

对于jdk1.7之前的程序,添加如下参数启动程序:

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

对于1.7及以后程序,添加如下参数启动程序:

java -agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n my_application

其中:

jdwp是Java Debug Wire Protocol的缩写。

suspend表示是否在调试客户端建立连接之后启动 JVM。如果为y,那么当前的VM就是suspend直到有debug client连接进来才开始执行程序。

2、对于tomcat,可以按照上述原理修改启动文件

1)拷贝TOMCAT_HOME/bin/startup.bat 为 startjpda.bat

2)修改startjpda.bat

2.1) 增加:set JPDA_ADDRESS=8

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Tomcat上进行远程调试,你可以按照以下步骤进行操作: 1. 首先,确保已经执行了jpda.bat脚本或者使用了正确的启动命令。在Windows环境下,可以执行jpda.bat脚本来启动Tomcat,并等待调试器连接。在Linux环境下,通过执行命令"./catalina.sh jpda start"来启动Tomcat的jpda服务。 2. 在Eclipse中,将Tomcat的源代码导入为项目。可以将Tomcat的源代码分为container、connectors、jasper、servletapi、build等五个项目,并将其导入到Eclipse中。 3. 打开Eclipse的"Debug Configurations"对话框。在该对话框中,创建一个"Remote Java Application"的配置。选择"Standard (Socket Attach)"作为连接类型,并将Host设置为Tomcat所在的主机地址,通常是localhost。将Port设置为Tomcat的jpda服务的端口号,根据你的设置可能是8000或者5050。 4. 点击"Apply"保存配置,然后可以开始进行远程调试了。当Tomcat启动并等待调试器连接时,你可以在Eclipse中点击"Debug"按钮来连接到Tomcat并开始调试。 请注意,以上步骤是基于Eclipse和Tomcat的常规配置进行的。如果你的环境有所不同,可能需要根据实际情况进行调整。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [工作日志:远程调试的方法(Tomcat与JDPA)](https://blog.csdn.net/hwak/article/details/84041284)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值