问题描述:定位一个项目相关接口问题,但是本地没有相应环境。
解决方案:可以使用远程调试的方式,因为目前只关心某一个接口的问题。
解决步骤:
1. 获取接口相关的两个jar包的源码,把源码导入到idea中,此时idea中的代码肯定会报错,这个不影响。
2.对idea进行远程调试相关设置,如下图:Run -> Edit Configurations
编辑
新增 Remote , 填写相应信息,注意这里的ip和端口为远程主机上的ip和端口,本机要能正常访问远程主机的这个ip和端口。可以使用tcping命令(要另外安装)测试一下此ip和端口是否能正常访问。编辑
3. 设置jetty启动远程调试模式,然后启动jetty。
在jetty的startup.bat中加入如下参数:
-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8088
完整的startup.bat如下:
call "..\jre\bin\java.exe" -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8088 -Xmx1024m -DSTOP.PORT=8079 -DSTOP.KEY=cityserver -Djetty.logs="..\logs" -jar "..\start.jar" pause
4. 以debug模式启动idea,如下图:
编辑
启动成功之后,控制台会打印一段信息,如下:
Connected to the target VM, address: 'localhost:8088', transport: 'socket',则证明成功连接上了远程机上的服务。
5.访问远程机上的相关接口,则进入了相应的断点,随即可进行调试。
参考文章:
Intellij IDEA远程debug教程实战和要点总结_山月风成的博客-CSDN博客_idea远程debug