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

news/2024/9/18 13:19:19/ 标签: vscode, java, ide, 面试, 职场和发展, 架构, 算法

优质博文: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找到。

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


http://www.ppmy.cn/news/1524716.html

相关文章

python-古籍翻译

题目描述 小理跑到外星人的图书馆去读书。有一本外星古籍,里面的内容是用八进制写成的;但小理只能处理十六进制的数据。请你帮忙写一个翻译软件,帮小理把八进制串翻译成十六进制串。 输入 仅一行,一个八进制字符串 s&#xff0…

Linux下进程间的通信--信号量

前言: 资源竞争: 资源竞争(Race Condition)是多线程或多进程环境中的一种常见问题,它发生在多个进程或线程并发访问和修改同一资源(如内存位置、文件、数据库记录等)时,而最终结果…

Aloudata AIR :国内首个 Data Fabric 逻辑数据平台

AIR 的寓意是“极致轻盈的数据交付”:A - Adaptive 自适应,I - Integration 集成,R - Resilience 弹性 News:Aloudata AIR 发布 作为国内首个 Data Fabric 逻辑数据平台,Aloudata AIR 通过自研的数据虚拟化技术&#…

中秋限定 | AI创意数字月饼(附关键词)

中秋节快到啦,给大家分享一波透明的数字月饼设计 这样的月饼可以永久保存,再也不用担心浪费了啦 AI绘画工具:https://qianlu.cc/?sEmGaur . 核心关键词: Chinese mooncakes (中式月饼) gradient transluc…

【hot100】力扣hot100部分题解

1.和为k的子数组 题目链接 注意:题目是连续的子数组。 因为数据有负数,用滑动窗口不太好做。 所以用数组前缀和。 数组前缀和就是从第1位到当前位的子数组的和。 每次遍历更新到当前位之前的前缀和,以对象的形式存储(key为前缀和&…

力扣100题——动态规划

爬楼梯 题目 70. 爬楼梯 - 力扣(LeetCode) 思路 动态规划关键在于写出状态转移方程,根据题目的意思每次能上一个台阶或两个台阶 用dp数组,dp[i]代表上到第i个台阶最多有几种的方法那么很容易就可以推出 dp[i]dp[i-1]dp[i-2]对…

# 执行 DISM 命令时出错 87 未在此上下文中识别出 restorehealth 选项。解决方法

执行 DISM 命令时出错 87 未在此上下文中识别出 restorehealth 选项。解决方法 一、错误描述: C:\Users\Administrator>DISM.exe /Online /Cleanup-image /Restorehealth部署映像服务和管理工具 版本: 6.1.7601.24499映像版本: 6.1.7601.24499错误: 87未在此上下…

【区块链 + 基层治理】链动社区:基于 FISCO BCOS 的智慧社区数字化治理平台 | FISCO BCOS应用案例

“链动社区——基于 FISCO BCOS 的智慧社区数字化治理平台”是智慧社区治理服务一套完整系统,通过使用 FISCO BCOS 联盟链方案进行社区数据管理(积分交易数据和行为数据等)、对社区工作进行数字化支持,激发社区治理的多元主体参与…

前后端时间转换的那些常见问题及处理方法

在现代的Web开发中,前后端分离的架构已经成为主流,尤其是在Spring Boot和Vue.js的组合中。开发者在这种架构下经常遇到的一个问题就是如何处理时间的转换和显示。前端和后端对时间的处理方式不同,可能会导致时间在传递过程中出现问题&#xf…

【C++】C++11-右值引用和移动语义

目录 1、左值与右值 2、左值引用与右值引用 3、左值引用和右值引用的底层 4、左值引用的不足 5、移动构造 6、移动赋值运算符重载 7、插入操作 8、完美转发 传统的C语法中就有引用的语法,而C11中新增了的右值引用语法特性,所以从现在开始我们之前…

AI性能评估工具 | 安兔兔AI大模型评测 v1.0.0.1095

安兔兔AI大模型评测是一款性能评估软件,专注于对设备在CPU、GPU及专属AI加速器上的AI处理能力进行全方位测试与评估。该软件精确评估设备的AI计算能力,助力用户深入理解设备在执行AI任务时的表现。 借助评测数据,用户能够清晰地掌握设备的AI…

Leetcode 第 138 场双周赛题解

Leetcode 第 138 场双周赛题解 Leetcode 第 138 场双周赛题解题目1:3270. 求出数字答案思路代码复杂度分析 题目2:3271. 哈希分割字符串思路代码复杂度分析 题目3:3272. 统计好整数的数目思路代码复杂度分析 题目4:3273. 对 Bob 造…

通过TensorBoard查看服务器训练过程

步骤 1: 启动服务器上的 TensorBoard 在服务器上&#xff0c;启动 TensorBoard 并指定一个端口&#xff08;例如 6006&#xff09;&#xff1a; tensorboard --logdir <日志文件路径> --port 6006这里 <日志文件路径> 是你存放训练日志的目录。 步骤 2: 使用 SS…

无人机巡检:突破传统局限,引领智能监测新时代

无人机行业正在经历快速发展&#xff0c;技术不断创新&#xff0c;应用领域不断拓展。从最初的航拍娱乐到如今的工业巡检、农业植保、物流配送、灾害救援等&#xff0c;无人机正展现出巨大的实用价值。如今&#xff0c;行业级无人机应用不断扩展&#xff0c;在测绘与泛测绘领域…

Redis 事务的实现详解

引言 Redis 作为一个高性能的键值存储数据库&#xff0c;除了其基本的增删查改操作&#xff0c;还提供了事务&#xff08;Transaction&#xff09;功能&#xff0c;以确保多条命令的原子性执行。在某些场景下&#xff0c;我们需要保证多条命令要么全部成功执行&#xff0c;要么…

【AIGC】对AI编程常用的工具提供简要介绍和应用场景

&#x1f3c6;&#x1f3c6;欢迎大家来到我们的天空&#x1f3c6;&#x1f3c6; &#x1f3c6;&#x1f3c6;如果文章内容对您有所触动&#xff0c;别忘了点赞、关注&#xff0c;收藏&#xff01; &#x1f3c6; 作者简介&#xff1a;我们的天空 &#x1f3c6;《头衔》&#x…

数据结构基础详解(C语言): 栈的括号匹配(实战)与栈的表达式求值特殊矩阵的压缩存储

文章目录 栈的应用1.栈的括号匹配代码实战:问题分析:2.栈的表达式求值2.1 中缀、后缀、前缀表达式2.2 中缀表达式改写为后缀表达式(手算)2.3 后缀表达式的计算(手算)2.4 中缀表达式转前缀表达式&#xff08;手算)和计算前缀表达式2.5后缀表达式的计算(机算)2.6 中缀表达式转后缀…

python轻量级异步定时任务

先看一段代码&#xff1a; from apscheduler.schedulers.background import BackgroundScheduler import time import logging# 设置日志记录器 logging.basicConfig() logging.getLogger(apscheduler).setLevel(logging.DEBUG)def job_function():print("This is a sche…

LeetCode:240. 搜索二维矩阵 II,直接查找,详细注释

原题链接&#xff1a; https://leetcode.cn/problems/search-a-2d-matrix-ii/ 解题思路&#xff1a; 不考虑矩阵的排序特性&#xff0c;直接搜索整个矩阵&#xff0c;查找是否存在等于target的元素即可 /*** param {number[][]} matrix* param {number} target* return {boo…

springboot服务器文件读取工具类

本地文件和网络文件读取 一. SpringBoot的RestTemplate配置 RestTemplate 二. 文件读取 RangeEntity 分片下载的封装对象 package com.zzc.component.download;import com.zzc.common.utils.StrUtils; import lombok.Data;import javax.servlet.http.HttpServletResponse;…