如何在 Visual Studio Code 中反编译具有正确行号的 Java 类?

优质博文:IT-BLOG-CN

问题

我在 macOS 中使用 vscode 版本 1.92.2,并安装了Java 扩展包v0.29.0。当我打开command + click或right click->Go to definition一个没有源代码的类时,vscode 会使用 FernFlower 反编译器打开 .class 文件。但是它不会保留原始行号。这是针对IntelliJ的。如何对 vscode 执行相同操作?

我需要原始行号的原因是因为我可以从堆栈跟踪导航到引发异常的确切行。

仅供参考,我已经使用外部反编译器检查过,它显示正确的行号,这意味着类或 jar 文件仍然具有调试信息。

解决方案

问:一般来说你不能这样做,因为所有的空白和注释行都将从可执行代码中删除(除非原始代码中嵌入了额外的调试信息)。

答:已经使用外部反编译器检查过,它显示了正确的行号,这意味着类或 jar 仍然具有调试信息。

问:但 VSCode 的类似问题应该被否决吗?VSCode 用户不值得拥有同样的功能吗?

经过彻底的搜索后,我发现了一个关于在 Visual Studio Code 中实现 Java 反编译器的未解决的问题,可以在https://github.com/dgileadi/vscode-java-decompiler/issues/4找到。

看来此功能尚未实现。因此,您有两个选择:要么耐心等待实现完成,要么主动自己实现。

相关推荐
飞Link2 分钟前
动作方法中的分割与过度分割方法全解析(含代码实战与踩坑案例)
人工智能·python·算法·计算机视觉
小幸运2489 分钟前
FastAPI异步请求 vs 同步请求:一个电商订单系统
面试
minhuan13 分钟前
AI Infra全栈拆解:大模型应用背后的基础设施,算力集群、网络、存储与服务治理体系26.0
人工智能·架构·ai infra·ai基础设施·ai任务调度
zhougl99616 分钟前
主流漏洞扫描工具
java
张宇Joaquin36 分钟前
鲲鹏统一并行加速库KUPL--异步数据拷贝
线性代数·算法·矩阵·numpy
GlobalInfo37 分钟前
创新不是追逐热点,是在变化中建立长期竞争力
大数据·算法
lvwangshu43 分钟前
线性代数基础 Linear Algebra Basics
数学·算法
一只小阿乐1 小时前
java 语法学习 1
java·开发语言·学习
2601_962073971 小时前
苍穹外卖-day07(Spring Cache & 购物车业务逻辑)
java·后端·spring
顶点多余1 小时前
算法哪些事儿---2
java·开发语言