环境搭建
安装IDEA当前环境为2022.3
安装tomcatJAVA8
下载vulhub
在tomcat中部署war包
把war包部署到webappsROOT目录下
在conf server.xml文件hosts标签内添加如下语句
<Contextpath="/s2-001"docBase="D:apache-tomcat-9.0.104webappsROOTS2-001.war"reloadable="true"></Context>
启动tomcat访问s2-001
在IDEA配置远程调试
在tomcatbincatalina.bat文件头添加如下语句:
set "JAVA_OPTS=%JAVA_OPTS% -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources"
idea新建空项目
新建一个lib目录
添加远程调试
把S2-001的war包解压,然后进入S2-001WEB-INF目录下把classes文件打成jar包或者可以找都对应的class文件达成jar包都可以。
打包方式可以为jar -cf 也可以把classes目录压缩为zip包然后修改后缀为jar。
将生成的jar包放到空项目的lib目录下:
调试即可。
可以看到无论是classes文件打成jar包还是可应的class文件达成jar包都可以进行调试。
那么问题来了,如果把classes文件打成jar包和对应的class文件达成jar包都加载到lib目录下,然后打断电。会优先走哪个呢?
原文始发于微信公众号(枯藤闲画云):无源码远程调试WAR包(以S2-001为例)—打jar包
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论