IDEA IDE 是java开发的首选IDE, 拥有非常强大、便捷的功能。在目前的项目中debug时遇到了源码不匹配的问题,影响到调试断点。
在目前的项目中,引用了一些没有源码的jar包,但是在调试时还需要在这些jar包中加断点。
IDEA 虽然具备反编译能力,但是反编译效果欠佳。即使在最新的IDEA2022.1的抢先预览版中,仍然会遇到 source code does not match the bytecode. 即反编译后的源码与实际源码有较大的差距,代码行数、程序流程控制方面都不太一样,导致调试很不顺利。反复安装idea 插件中的 java decompiler 也没有解决这个问题。
经过反复调试发现,缺失源码的jar包在JD-GUI工具中,可以得到较好的反编译,故而有了以下解决办法,
通过JD-GUI对缺失源码的jar包全部反编译,并将反编译的源码存放在某个目录,在idea中将该jar包与反编译后的源码目录关联,从而在调试时,代码行数、变量名称、变量位置、变量内容都得到完美展示。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。