文档章节

MyEclipse远程调试Tomcat

郑州-小万
 郑州-小万
发布于 2015/09/14 14:11
字数 576
阅读 261
收藏 3

行业解决方案、产品招募中!想赚钱就来传!>>>

程序就是这么一个神奇的东西,有时你的一个项目,在本机上运行得还是好好的,可当你把这货放到了服务器上,同样的条件就是结果不一样。于是就灰常想看一下程序在远程运行时候的状态,希望让程序在远程运行,还可以在本机打断点跟一下,这就用到了用eclipse远程调试Tomcat。记得以前好久之前研究了一下,怎么也没弄成功。最近终于OK啦。

一、调试准备

首先得有一个在远程服务器上的Tomcat与一个在本地的Eclipse,还有就是一个已经部署在远程Tomcat上并且源代码在本地Eclipse上的程序。当然如果木有远程的服务器就用自己的本机当远程的服务器试下也行哈。

二、配置tomcat

1、如果远程服务器是Windows NT的环境,那就在%CATALINE_HOME%/bin 下建立debug.bat文件,在里面贴入如下内容:

set JPDA_ADDRESS=8888

set JPDA_TRANSPORT=dt_socket

set CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8888

startup

其中的两处8787是要启用的远程端口,当然任何未被使用的端口都可以。连接方式有两种,为dt_shmem和dt_socket,分别表示本机调试和远程调试。

2、如果远程服务器是Linux/Unix环境,就编辑%CATALINE_HOME%/bin/startup.sh文件,找到其中最后一行,将

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

改为

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

默认的远程调试端口是8000,如果被占用,编辑%CATALINE_HOME%/bin/catalina.sh文件,将

JPDA_ADDRESS="8000"

改为

JPDA_ADDRESS="8888"

3 、在Windows下运行debug.bat 在Linux下运行 startup.sh启动Tomcat。

如果在启动日志中出现

Listening for transport dt_socket at address: 8888

则说明远程调试端口监听成功。

三、配置Eclipse

在要调试的项目上右键,选择  调试方式->调试配置

image

打开配置界面,选择 远程Java应用程序 新建一个远程调试

bdf5fa4f-5a6b-4a8b-9b51-042a4e7f

 

IP地址就是远程服务器IP地址,端口是刚才配置的Tomcat的远程调试监听端口。配置好后点 应用调试

这时打开调试界面就可以看到线程状态,也可以随时断开调试。

d73ae9d9-8532-463e-bcda-63fc191d

郑州-小万

郑州-小万

粉丝 6
博文 93
码字总数 25037
作品 0
郑州
程序员
私信 提问
加载中
请先登录后再评论。
Web 的 SSH 控制台--KeyBox

KeyBox 是一个基于 Web 的 SSH 控制台,用于同步管理多个系统并且可执行远程命令。允许你共享终端命令并上传文件到所有系统。但连接会话打开时你可选择在其中一个终端或者多个终端上执行命令...

匿名
2013/02/28
8.3K
0
OpenDolphin

Open Dolphin 是一个免费开源的库,用来保护您的业务应用程序应对不确定性的可视化技术变化。 Dolphin严格分离业务逻辑和可视化效果,通过可插入式的架构将业务逻辑放在远程服务器端,可自由...

匿名
2013/03/05
658
0
Swing界面分析和调试工具--Swing Inspector

Swing Inspector是一个Java Swing/AWT用户界面分析和调试工具,功能与firebug类似,具有强大的Swing/AWT用户界面分析和调试相关功能。 适用于从java swing初级到高级的所有开发人员,能够快速...

匿名
2013/03/06
3.4K
0
Password Manager Daemon

pwmd(Password Manager Daemon) 通过 Unix domain socket 提供服务,数据存储在加密的 XML 文件中,客户端必须提供密钥才能修改。支持多线程,可同时允许多个客户端同时连接。 特性 通过 ...

匿名
2013/03/12
429
0
Amazing Audio Engine

Amazing Audio Engine 是基于 Core Audio 的远程 IO 系统用以提供低延迟的音频连接,通过内置的混音、过滤和生效。该框架支持大多数音频格式和比特率,同时提供音频输入、录制和监控功能。 ...

匿名
2013/03/21
1.2K
0

没有更多内容

加载失败,请刷新页面

加载更多

听说你还不会jwt和swagger-饭我都不吃了带着实践项目我就来了

前言 哈喽,大家好,我是asong,这是我的第八篇原创文章。听说你们还不会jwt、swagger,所以我带来一个入门级别的小项目。实现用户登陆、修改密码的操作。使用GIN(后台回复Golang梦工厂:g...

sunsong2020
今天
0
0
python合并excel的多个sheet

简介 因为,每天都会有的大量excel报表汇总处理任务,所以写了一个脚本来处理。 就是找出每一个excel中特定的sheet,把这些sheet的特定列读取出来合并到一个sheet中。 因为每一个sheet的数据...

trayvon
11分钟前
0
0
如何设计一个幂等接口

什么叫幂等接口 幂等性,就是只多次操作的结果是一致的。这里可能有人会有疑问。 问:为什么要多次操作结果都一致呢?比如我查询数据,每次查出来的都一样,即使我修改了每次查出来的也都要一...

贪挽懒月
昨天
0
0
华为阿里下班时间曝光:所有的光鲜,都有加班的味道

点击上方 Z先生点记,加为星标 第一时间收到 Python 技术干货! 来源:GitHubPorn 声明:本文由HR人力资源成长俱乐部整理发布。素材来源程序员之家。如需转载,请务必注明以上信息,侵权必究...

zeroing1
08/06
0
0
Proguard 常用规则

入口 为了决定哪些代码要被保留哪些代码要出丢弃和混淆,必须指定入口点。这些入口点通常是 main方法,activity,service等。 在压缩阶段,Proguard从这些入口点开始递归确定哪些类或类成员要...

佛系编码
19分钟前
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部