idea14远程调试tomcat项目

场景如下:本地开发好代码之后,到qa那边提测,qa把同一份代码部署到自己的linux测试机。

远程调试的步骤如下:

1.  首先在IDEA中打开项目代码,并保证远程调试机器,也是同一份代码。

2.  因为我们用的是Tomcat,所以在IDEA中点击右上角那个“Edit Configurations”按钮,然后在弹出的界面中点击左上角的加号,选择tomcat server->remote

3.  在弹出的的界面中填写服务器的ip和工程的端口。

4.  然后点击那个弹出框的Starup/Connection选项卡,点击debug按钮,可以看到下面的文本框中有一段类似于下面的文字:

-agentlib:jdwp=transport=dt_socket,address=57716,suspend=n,server=y

这里这段文字,即说明,启动远程调试方式为socket,端口为57716。在这一步,网上有很多说法,有的说,把这一段配置到tomcat,有的说不对,tomcat原本有这一段,应该把tomcat这一段配置到本地;而且各自都有成功调试的例子。不过到底用哪一种,让我们看一下tomcat下的catalina.bat就知道了。

由上图可知,idea中给出的

-agentlib:jdwp=transport=dt_socket,address=57716,suspend=n,server=y

这段配置,在tomcat中,是有的;如果,你将idea中的这段放到tomcat里来那么就是让tomcat跟idea保持一致;缺点很明显,idea的端口是自己指定的。如果调试另外的程序,下次你还是只能使用这个端口;假使使用tomcat的8000的这个端口,那么优点有2处,tomcat无需任何改动;第二移植到其他的地方时,别的tomcat下仍是这个默认值

其实二种都对,无非是保证二者在联调时,能正确的通过socket链接。这里,这两种我都分别介绍一下使用方法,我本地已经测试通过,配置无非多一点,即在第四步时,弹出框的Starup/Connection选项卡

5.  当你选择用idea的配置时(

-agentlib:jdwp=transport=dt_socket,address=57716,suspend=n,server=y

),点击debug,将文本框中的这段话复制,然后登陆自己的远程机器,修改配置,在JAVA_OPTS属性中增加上面的那段话。并重启tomcat。假使重启无效,则修改startup.sh中的最后一行,,将原来的exec注释掉,使用exec
jpad方式start;修改后重启tomcat,即可。

6.       当使用tomcat的配置时,则无需修改tomcat任何配置,只需要在弹出框的Starup/Connection选项卡中,选中debug,然后将默认的

-agentlib:jdwp=transport=dt_socket,address=57716,suspend=n,server=y

改成tomcat下默认的配置即可。

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

然后重启tomcat,使用idea连接,然后debug。如果无法debug,则参考第5步,修改startup.sh,使用exec jpad方式start;修改后重启tomcat,即可。

7.  然后回到自己的idea点击debug就可以加断点调试了。以上2种方式测过之后,还是觉得麻烦,因为有时还是要改动tomcat,后来终于找到一个方法,可以不用动所有的配置文件。即使用另外的命令行启动tomcat,而不是./startup.sh。具体的步骤即是在第6步的时候,启动tomcat,使用 ./catalina.sh jdpa start方式启动即可。

时间: 2024-10-12 07:28:59

idea14远程调试tomcat项目的相关文章

MyEclipse远程调试Tomcat

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

Eclipse远程调试Tomcat

最近,一直在研究Tomcat的工作内幕,主要的方法就是参考<How Tomcat Works> 这本书和Tomcat 5.5.26的源代码. Tomcat的代码结构还是比较清晰的,注释也比较全.但是代码毕竟是静态的,难以彻底弄清类与类之间的协作关系,以及运行时对象的交互关系. 如果能对Tomcat的启动.处理请求和停止的过程进行断点调试,看清Tomcat的每一步行踪,那么就能解决上面的问题了. 于是,又一个问题出来了:如何使用Eclipse远程调试Tomcat ? 上网查了一些资料,相关的文章

远程调试tomcat

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

IntelliJ IDEA 2018.2.2远程调试Tomcat的配置方法

公司项目放在远程服务器上,之前都是将项目打包放上去运行后在log中查看相关调试信息,发现问题后在本地编辑器修改后再次打包上传调试,但是这种方式实在是让人抓狂,一则不断的在大量的log中查看有效信息太累,而且log中的信息也有限:再则一直重复编辑-打包-上传-调试很折磨人,所以才想到了远程调试.搜索了网上的方法要么就是设置界面跟我不一样,要么就是即使跟他们设置的一样依然不起作用,不进断点,在尝试了多次以后终于调通,在这里记录一下,也给大家做个参考! 大前提:本地工程和发布到远程服务器上的工程代码要

如何用myeclispe远程调试tomcat

在工作开发中,通常用本机进行代码编写,然后将编好的工程部署到测试服务器进行测试.往往测试服务器并不是自己的本机,因此对调试带来众多不便.今天学习可以用myeclispe远程调试tomcat. 步骤:1.将工程部署到远程测试服务器. 2.远程登陆测试服务器,启动tomcat远程调试.要用到的相关命令 sudo su - ps -ef | grep tomcat kill -9 进程号 sh catalina.sh jpda start     //以debug模式启动Tomcat(进入tomcat

使用Eclipse远程调试Tomcat

有些时候,调试不得不用外网,比如说做支付宝的支付接口,服务器后台通 知就不得不用外网的ip.无奈,只能扔到服务器远程调试了. 网上讲关于远程调试tomcat的倒是蛮多,基本都是将改啥catalina.sh,startup.sh的,操作还是复杂点.下面这篇就只针对于 linux下的tomcat远程调试,不用改啥文件,简单而又没啥副作用.本人在tomcat6 的情况下远程调试成功. 相信很 多J2EE的开发者都是在Windows上面开发程序,然后把程序上传到Linux下运行的吧.可是有时候在自己机器

vs2010 远程调试WEB项目

这2天在做web项目扩展开发.碰到调试时甚是头疼.于是按照网上罗列的远程调试办法.进行调试,结果就不能命中断点. 很是恼火. 于是搜索了MSDN: 原来是人家不支持WEB的远程调试:怪不得不命中. 如果小伙伴们要远程调试WEB项目下载个VS2012吧.具体方法如下: MSDN有介绍:MSDN 系统要求:WIN7专业版.旗舰版 需要注意的是:一定要分清你的是64位还是86位的系统和服务器上的权限:

IDEA远程调试Tomcat

IDEA远程调试Tomcat 之前基本上都是打log来找BUG的,看看log基本上也就知道什么问题了.但是把有些问题还是调试来的方便,于是开始研究怎么远程调试Tomcat....表示各种教程太杂太乱,基本上不懂原理.弄了半天,终于能够调试了..记录下. 一.tomcat的jpda服务 什么是JPDA呢 JPDA(Java Platform Debugger Architecture) 是 Java 平台调试体系结构的缩写,通过 JPDA 提供的 API,开发人员可以方便灵活的搭建 Java 调试

远程调试Spring项目

目录 远程调试Spring项目 服务端启动: 启动jar包: 使用mvnDebug启动SpringMVC项目: 客户端设置: IDEA设置: VsCode设置: 参考: 远程调试Spring项目 服务端启动: 启动jar包: 一般启动: java -jar huishi-api.jar 远程调试启动: java -jar -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8000 huishi-api.jar addres