idea14远程调试tomcat项目
2015-01-27 15:02
387 查看
场景如下:本地开发好代码之后,到qa那边提测,qa把同一份代码部署到自己的linux测试机。
远程调试的步骤如下:
1. 首先在IDEA中打开项目代码,并保证远程调试机器,也是同一份代码。
2. 因为我们用的是Tomcat,所以在IDEA中点击右上角那个“Edit Configurations”按钮,然后在弹出的界面中点击左上角的加号,选择tomcat server->remote
3. 在弹出的的界面中填写服务器的ip和工程的端口。
4. 然后点击那个弹出框的Starup/Connection选项卡,点击debug按钮,可以看到下面的文本框中有一段类似于下面的文字:
这里这段文字,即说明,启动远程调试方式为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方式启动即可。
远程调试的步骤如下:
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方式启动即可。
相关文章推荐
- 看图说话,idea 远程调试 tomcat下项目
- Tomcat 8 配合 IDEA 14 远程调试的方法
- IDEA 14在MAC下如何对tomcat进行远程调试
- eclipse 远程调试linux下 tomcat 项目
- IDEA 13 tomcat 进行远程调试
- IDEA 15 社区版 Maven项目 启动Tomcat调试
- 使用weinre在PC端同步远程调试移动端页面(在xampp上部署项目到Tomcat,并通过外网访问(图解). )
- IDEA远程调试Tomcat
- Eclipse进行远程调试linux 环境的tomcat配置 更新maven web项目
- idea远程调试linux下的tomcat
- 34.IntelliJ IDEA 远程调试 Tomcat - IntelliJ IDEA 使用教程
- maven发布web项目到tomcat,并启用远程调试
- 使用Idea 16远程部署调试tomcat
- eclipse远程调试服务器上Tomcat中运行的项目
- Tomcat 服务器配置及远程调试和不同web项目session共享方法以及设置TOMCAT的内存
- IntelliJ IDEA 14远程调试Tomcat 7
- IDEA 远程调试tomcat中的jsp
- IDEA 16 将项目远程部署到Tomcat 8
- IDEA远程调试Tomcat