如何在 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找到。

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

相关推荐
澈2071 分钟前
排序算法入门:冒泡、选择、插入排序详解
数据结构·算法·排序算法
devpotato5 分钟前
人工智能(九)- Spring AI MCP客户端开发
java·mcp
smj2302_796826526 分钟前
解决leetcode第3901题好子序列查询
python·算法·leetcode
_深海凉_7 分钟前
LeetCode热题100-每日温度
算法·leetcode·职场和发展
Coder个人博客9 分钟前
19_apollo_cyber_base子模块软件架构分析
架构
迷你可可小生10 分钟前
面经学习(二)
学习·算法
John.Lewis11 分钟前
C++加餐课-二叉树:进阶算法
数据结构·c++·算法
疯狂打码的少年13 分钟前
【Day14 Java转Python】从Java到Python——用Python重构一个Java小工具(文件批量重命名实战)
java·python·重构
LONGZETECH16 分钟前
龙泽科技新能源充电设备仿真教学软件|技术解析+职教落地指南
科技·架构·汽车·汽车仿真教学软件·新能源汽车仿真教学软件
无籽西瓜a18 分钟前
【西瓜带你学设计模式 | 第十八期 - 命令模式】命令模式 —— 请求封装与撤销实现、优缺点与适用场景
java·后端·设计模式·软件工程·命令模式