关于tomcat的远程调试
最近做项目开发发现,在本地运行好好的项目发布到测试服务器既然不好使了,很是郁闷,周围的大神们就给了一条明路:远程调试
查看了网上例子太多了,好像自己真的不会使用,就查了一些简单的资料发现其实很简单
下面是我自己使用过程:
首先既然远程调试肯定你得保证本地和服务器上代码一致(不一致的话真的会串行的),给调试再来很大麻烦
再次呢这是正题 打开tomcat下的bin目录 你会发现主要的有两类文件并且还是成对出现的sh后缀的和bat后缀的(这里主要关注这两类文件:bat是window环境下执行的,sh是linux下执行的文件,所以呢你要是修改最好成对的修改,远程调试也不例外,就是修改这里的文件)
在说明一点,start.bat 或者start.sh 这俩个文件只是一个导火索,实质你的看catalina.bat或者catalina.sh
下面找找里面的代码看看,打开你的catalina.bat 文件 :很明显的逻辑判断,还有这么明显的goto
if not ""%1"" == ""jpda"" goto noJpda
set JPDA=jpda
if not "%JPDA_TRANSPORT%" == "" goto gotJpdaTransport
set JPDA_TRANSPORT=dt_socket
:gotJpdaTransport
if not "%JPDA_ADDRESS%" == "" goto gotJpdaAddress
set JPDA_ADDRESS=8000
:gotJpdaAddress
if not "%JPDA_SUSPEND%" == "" goto gotJpdaSuspend
set JPDA_SUSPEND=n
:gotJpdaSuspend
if not "%JPDA_OPTS%" == "" goto gotJpdaOpts
set JPDA_OPTS=-agentlib:jdwp=transport=%JPDA_TRANSPORT%,address=%JPDA_ADDRESS%,server=y,suspend=%JPDA_SUSPEND%
:gotJpdaOpts
shift
:noJpda
没有jpda 就走正常的启动,否则呢,那当然就是jpda了(jpda好像就是远程调试这个意思)
不行再打开catalina.sh也是有相似的代码的,既然找到了根源,那就得在导火索上加点装饰不就是走jpda了
在打开start.bat 找到最后一行 你会发现有个start :
call "%EXECUTABLE%" jpda start %CMD_LINE_ARGS% 红色部位没有吧 填上就好了。
到此应该对于tomcat的配置基本上结束了,有疑问了,正常启动我是有端口的(看到上边这个8000了,就是他),还有这个set JPDA_TRANSPORT=dt_socket 好像不用变也行,连接方式有两种,为dt_shmem和dt_socket,分别表示本机调试和远程调试。
好了,现在启动tomcat 你就会发现启动日志中首先看到打出了正在监听8000 就这样启动了
下面就是myEclipse的操作了:我怎么没法截图呢,推荐个地址吧http://blog.sina.com.cn/s/blog_4e11d20b01016491.html,看这个吧
关于tomcat的远程调试的更多相关文章
- tomcat开发远程调试端口以及利用eclipse进行远程调试
一.tomcat开发远程调试端口 方法1 WIN系统 在catalina.bat里: SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compi ...
- Tomcat配置远程调试端口
Tomcat配置远程调试端口 1.Linxu系统: apach/bin/startup.sh开始处中增加如下内容: declare -x CATALINA_OPTS="-server -Xd ...
- tomcat开启远程调试
tomcat开启远程调试模式: 需要在启动脚本中的 JAVA_OPTS='-server -Xms1024m -Xmx1024m -Xmn384m -Xss256k -XX:PermSize=128m ...
- java远程调试(断点)程序/tomcat( eclipse远程调试Tomcat方法)
tomcat远程调试: 1.Linux中配置tomcat在catalina.sh中添加如下CATALINA_OPTS="-Xdebug -Xrunjdwp:transport=dt_soc ...
- JPDA 利用Eclipse和Tomcat进行远程调试 --转
1 编辑tomcat\bin\catalina.bat ,添加 rem =============================================================== ...
- Linux下Tomcat进行远程调试
1.更改tomcat远程调试端口(可以使用默认端口不更改) 打开目录下的catalina.sh文件,找到JPDA_ADDRESS=”8000”,8000代表远程调试端口,可以更改成其他没有被占用的端口 ...
- 配置tomcat的远程调试
参考文档: http://jingyan.baidu.com/article/0320e2c1f4ef6b1b87507b06.html http://flyer2010.iteye.com/blog ...
- Tomcat配置远程调试端口(windows、Linux)
当我们需要定位生产环境问题,而日志又不清晰的情况下,我们可以借助Tomcat提供的远程调试,设置如下: // Linxu系统: apach/bin/startup.sh开始处中增加如下内容: decl ...
- Tomcat配置远程调试
===========方法1================================ tomcat7 :catalina.bat jpda start,调试端口默认为8000 ======== ...
随机推荐
- css 实现进度条
<select id="progress" onchange="changeProgress(this)"> <option value=&q ...
- java中的native关键字
参照下面的链接http://blog.163.com/yueyemaitian@126/blog/static/21475796200701491621267/
- 给Array添加删除重复元素函数
给Array本地对象增加一个原型方法,它用于删除数组中重复的元素(可能有多个重复), 返回值是一个包含被删除的重复条目的新数组. Array.prototype.distinct = function ...
- HTML5简单入门系列(三)
前言 本篇介绍HTML5支持的Web存储(Web Storage)和HTML 5 应用程序缓存. 客户端存储数据介绍 HTML5 提供了两种在客户端存储数据的新方法: localStorage - 没 ...
- Bootstrap 静态分页 和 jquery_pagination插件 动态分页
第一种Bootstrap 实例 - 默认的分页 <!DOCTYPE html> <html> <head> <title>Bootstrap 实例 - ...
- makefile 单独编译一个文件
#!/sh/bin .SUFFIXES:.c.o CDIR = /Users/shelley/c BINDIR = $(CDIR)/bin CC = gcc CFLAGS = -g -O RM = r ...
- 深入理解JS原型链与继承
我 觉得阅读精彩的文章是提升自己最快的方法,而且我发现人在不同阶段看待同样的东西都会有不同的收获,有一天你看到一本好书或者好的文章,请记得收藏起来, 隔断时间再去看看,我想应该会有很大的收获.其实今天 ...
- 子shell的$$
http://blog.csdn.net/firefoxbug/article/details/7426109
- 处理事件的方式:两种类的覆盖处理(自己管理,覆盖专用事件函数;自己统一管理,覆盖QWidget::Event通用函数),一种对象的处理(父控件统一管理,即安装过滤器),两种全局处理(QCoreApplication安装过滤器;覆盖notify方法)
虽然只有一句话,但却是我自己的心得. 特别注意,bool QCoreApplication::notify(QObject *receiver, QEvent *event) 明确指明了要发送的对象, ...
- bzoj1864 [Zjoi2006]三色二叉树
Description Input 仅有一行,不超过500000个字符,表示一个二叉树序列. Output 输出文件也只有一行,包含两个数,依次表示最多和最少有多少个点能够被染成绿色. Sample ...