关于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 ======== ...
随机推荐
- Python学习笔记2(控制语句)
1.if条件语句 if(表达式): 语句1 else: 语句2 2.if...elif...else判断语句 if(表达式1):语句1 elif(表达式2):语句2 ... elif(表达式n):语句 ...
- shell启动时读取的配置文件
bash shell具体可以分为3种类型,这3种类型为: 1 login shell 就是需要输入用户名和密码才能登陆的shell 2 可交互的非login shell 就是不用登陆的,但是可以同用户 ...
- PyQuery查询html信息
以下代码主要演示使用pyquery进行对html文件的解析,包括设定编码,对子块进行查询等操作: from pyquery import PyQuery as pq import os from lx ...
- 解决图片元素下多余空白的BUG
1.将图片转换为块级对象 即,设置img为“display:block;”.在本例中添加一组CSS代码:“#sub img {display:block;}”. 2.设置图片的垂直对齐方式 ...
- 分享几个实用的jquery工具函数
1.$.browser对象属性 属性列表 说明 webkit webkit相关浏览器则返回true,否则返回false,如google,傲游. mozilla mozilla相关浏览器则返回tru ...
- mysql----innodb统计信息
对innodb 统计信息的控制可以通过如下几个常用的variables 来实现 1.innodb_stats_persistent: 这个参数控制着innodb的统计信息是否持久化到磁盘,先说明一下持 ...
- Android 中常用代码片段
一:AsyncTask 的使用 (1)activity_main.xml <TextView android:id="@+id/tvInfo" android:layout_ ...
- css3的transition效果和transfor效果
<!doctype html> <html> <head> <meta charset="utf-8" /> <title&g ...
- spring-boot+nginx+tomcat+ssl配置笔记
如果你的tomcat应用需要采用ssl来加强安全性,一种做法是把tomcat配置为支持ssl,另一种做法是用nginx反向代理tomcat,然后把nginx配置为https访问,并且nginx与tom ...
- ERROR: HHH000388: Unsuccessful: create table
做SSH整合的时候,总是出现错误信息: 类似这样: : HHH000388: Unsuccessful: create table right (right_code varchar(255) not ...