idea 远程调试

idea14远程调试tomcat项目

时间:2015-02-02 16:27来源:linux.it.net.cn 做者:ITlinux

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

远程调试的步骤以下:服务器

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

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

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

idea14远程调试tomcat项目0

4.  而后点击那个弹出框的Starup/Connection选项卡,点击debug按钮,能够看到下面的文本框中有一段相似于下面的文字:测试

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

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

idea14远程调试tomcat项目1

由上图可知,idea中给出的spa

-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选项卡.net


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

-agentlib:jdwp=transport=dt_socket,address=57716,suspend=n,server=y
),点击debug,将文本框中的这段话复制,而后登录本身的远程机器,修改配置,在JAVA_OPTS属性中增长上面的那段话。并重启tomcat。假使重启无效,则修改startup.sh中的最后一行,idea14远程调试tomcat项目2,将原来的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方式启动便可。  (责任编辑:IT)
相关文章
相关标签/搜索