idea android远程调试,IntelliJ IDEA远程调试(Debug)Tomcat

为什么需要这么做?

解决 在我本地是好的啊 这个世界性难题~

测试环境碰到问题,直接连上debug,不用再测试本地,再查看测试环境日志

遇到一些诡异的问题,日志是看不出端倪的

调试一些只能在测试环境执行的流程,如:调用微信/支付宝付款

服务器Tomcat配置

以 Linux 环境为例

Tomcat 安装在: /usr/program/tomcat7

Tomcat 的执行程序:/usr/program/tomcat7/bin/catalina.sh

编辑 Tomcat 执行程序: vim /usr/program/tomcat7/bin/catalina.sh

查找Tomcat的debug端口:/JPDA_ADDRESS=

1b789a4b6abe2539cd585b5d454a7cb0.png

默认的debug端口是8000,我这里是配成了5005

在bin目录下执行命令 catalina.bat jpda start ,可以启动tomcat并开启远程调试的端口

其实官方教程是在文件的开头加上 export JAVA_OPTS=‘-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005‘ ,但是我这边环境有点问题,而且我不想让其他同事也是以debug模式启动。

服务器Jetty配置

以 Linux 环境为例

Tomcat 安装在 /usr/program/tomcat7

jetty 不像Tomcat那样需要安装,只要有jetty的jar包就可以启动我们想要启动的应用

在启动应用的时候加入 agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005

就像这样:java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -jar {your jetty path} {your port} --path {your war} 1>/dev/null 2>&1 &

在IntelliJ Idea中远程连接tomcat

点击下图红框中的”run”按钮,在下拉菜单中点击“Edit Configurations…“:

91532c89ad7aac21f23da73214b72912.png

在弹出的菜单中点击“+“,再点击“Remote“:

8d246204d2b7073dfdb4c1cad0303951.png

如下图,修改Port框中的数字为之前设置的Tomcatdebug端口号(默认8000),如果tomcat部署在其他机器上,请在Host输入框中填入tomcat所在机器的ip:

2431aae926e3e6b6b1e947f5c9216024.png

设置完毕后点击下面的“ok“,回到主窗口后,点击下图红框中的下拉菜单,选中我们刚才新建的debug配置项,再点击小虫按钮,就能连接到tomcat的debug端口了:

8db90fb8f87dd9d33525dafc65e6a024.png

如果看到下图则代表成功了

8673b662836a840c75ffd74507fc42c4.png

拓展

标注 1:运行远程 JVM 的命令行参数;

标注 2:传输方式,默认为Socket;

标注 3:调试模式,默认为Attach;

标注 4:服务器 IP 地址,默认为localhost,需要修改为目标服务器的真实 IP 地址;

标注 5:服务器端口号,默认为5005,需要修改为目标服务器的真实端口号;

标注 6:搜索资源是使用的环境变量,默认为

,即整个项目。

444fdf3f09e14e1149d0ab65d4ba9118.png

如上图所示,其中?标注 2?和?标注 3?又分别有两种分类,

标注 2:传输方式,默认为Socket;?

Socket:macOS 及 Linux 系统使用此种传输方式;

Shared memory: Windows 系统使用此种传输方式。

标注 3:调试模式,默认为Attach;?

Attach:此种模式下,调试服务端(被调试远程运行的机器)启动一个端口等待我们(调试客户端)去连接;

Listen: 此种模式下,是我们(调试客户端)去监听一个端口,当调试服务端准备好了,就会进行连接。

参考链接

本文为博主对几篇 博文|教程 的总结,部分文字为直接复制。以下为原文链接:

本文作者:夏日浅笑、

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在使用IDEA进行远程调试时,如果遇到连接失败的问题,这可能有多种原因。其中一个可能是由于Tomcat服务没有开启所致。请确保Tomcat服务已经成功启动。 另外,报错信息"Unable to open debugger port : java.net.ConnectException "Connection refused: connect""也可能是由于端口被其他进程占用所导致的。你可以尝试检查端口是否被其他应用程序占用,或者尝试更改IDEA中设置的调试端口。可以通过在IDEA中打开“Run/Debug Configurations”窗口,然后在相应的配置中找到“Debug”选项来更改调试端口。 此外,还有一些其他常见的问题可能导致远程调试连接失败,比如防火墙或网络配置问题。你可以确保防火墙允许IDEATomcat之间的通信,并检查网络配置以确保连接正常。 综上所述,当遇到IDEA远程调试连接失败的问题时,你可以先确保Tomcat服务已经启动,检查端口是否被占用,并排除防火墙或网络配置问题。希望这些信息对你有所帮助。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [IntelliJ IDEA服务器远程调试报Connection refused](https://blog.csdn.net/maomi00/article/details/80815173)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值