前言
远程调试相对来说还是比较繁琐的,如果可以给jar拿到本地来运行调试,会方便简单很多。
准备
随便准备个JAR即可,比如 https://github.com/halo-dev/halo
下载后得到halo.jar
,通过命令java -jar halo.jar
即可运行(这个jar运行需要jdk11)
开始调试
新建一个maven
空项目,为了运行jar选择用jdk11
,其他的随便选选即可
添加配置,选择JAR Application
然后根据实际情况配置
点击Apply
,然后就可以在IDEA里面运行这个JAR了
但这个时候还不能调试,还需要添加classes
依赖关系
之前也说过,要添加了依赖关系IDEA才会执行这个代码,才能知道你下的断点,才会在那阻断让你分析
先解压这个jar
然后给目录lib
添加到依赖中,不然这个jar使用的其他jar依赖不能调试
然后给目录BOOT-INF
添加到依赖关系中
然后就可以Debug调试了
下断点有个勾表示成功
成功拦截
最后
虽然说上面已经可以开始调试了,但还是有一些问题
一些函数可能因为不能反编译等等原因,导致找不到,也会影响我们的进程
所以有条件的情况下,可以下载他的源代码,然后给源代码也加入进去(直接点上面的提示choice source file
即可)