前言

远程调试相对来说还是比较繁琐的,如果可以给jar拿到本地来运行调试,会方便简单很多。

准备

随便准备个JAR即可,比如 https://github.com/halo-dev/halo

下载后得到halo.jar,通过命令java -jar halo.jar即可运行(这个jar运行需要jdk11)

image-20211109102735500

开始调试

新建一个maven空项目,为了运行jar选择用jdk11,其他的随便选选即可

添加配置,选择JAR Application

image-20211109102911159

然后根据实际情况配置

image-20211109103407777

点击Apply,然后就可以在IDEA里面运行这个JAR了

image-20211109104311638

但这个时候还不能调试,还需要添加classes依赖关系


之前也说过,要添加了依赖关系IDEA才会执行这个代码,才能知道你下的断点,才会在那阻断让你分析

先解压这个jar

image-20211109113836302

然后给目录lib添加到依赖中,不然这个jar使用的其他jar依赖不能调试

image-20211109125913790

然后给目录BOOT-INF添加到依赖关系中

image-20211109113918163

然后就可以Debug调试了

下断点有个勾表示成功

image-20211109114248909

成功拦截

image-20211109114318989

最后

虽然说上面已经可以开始调试了,但还是有一些问题

一些函数可能因为不能反编译等等原因,导致找不到,也会影响我们的进程

所以有条件的情况下,可以下载他的源代码,然后给源代码也加入进去(直接点上面的提示choice source file即可)

Copyright © d4m1ts 2023 all right reserved,powered by Gitbook该文章修订时间: 2021-12-25 18:51:59

results matching ""

    No results matching ""