历史上的今天
返回首页

历史上的今天

今天是:2024年10月24日(星期四)

正在发生

2019年10月24日 | Eclipse下的Java反编译插件 查看源代码不再困难

2019-10-24 来源:51hei

Eclipse下的Java反编译插件 查看源代码不再困难

Eclipse下的Java反编译插件:Eclipse Class Decompiler,整合了目前最好的2个Java反编译工具Jad和JD-Core,并且和Eclipse Class Viewer无缝集成,能够很方便的使用本插件查看类库源码,以及采用本插件进行Debug调试。

Eclipse Class Decompiler插件: http://download.csdn.net/detail/ibm_hoojo/5250263

下载后,解压可以看到如下目录,复制所有文件粘贴到你的eclipse或MyEclipse的目录:D:MyEclipse 6.5myeclipseeclipse下,选择覆盖即可。然后重新启动eclipse。  
 

下图为Eclipse Class Decompiler的首选项页面,可以选择缺省的反编译器工具,并进行反编译器的基本设置。缺省的反编译工具为JD-Core,JD-Core更为先进一些,支持泛型、Enum、注解等JDK1.5以后才有的新语法。 
 
首选项配置选项: 
1.重用缓存代码:只会反编译一次,以后每次打开该类文件,都显示的是缓存的反编译代码。 
2.忽略已存在的源代码:若未选中,则查看Class文件是否已绑定了Java源代码,如果已绑定,则显示Java源代码,如果未绑定,则反编译Class文件。若选中此项,则忽略已绑定的Java源代码,显示反编译结果。 
3.显示反编译器报告:显示反编译器反编译后生成的数据报告及异常信息。 
4.使用Eclipse代码格式化工具:使用Eclipse格式化工具对反编译结果重新格式化排版,反编译整个Jar包时,此操作会消耗一些时间。 
5.使用Eclipse成员排序:使用Eclipse成员排序对反编译结果重新格式化排版,反编译整个Jar包时,此操作会消耗大量时间。 
6.以注释方式输出原始行号信息:如果Class文件包含原始行号信息,则会将行号信息以注释的方式打印到反编译结果中。 
7.根据行号对齐源代码以便于调试:若选中该项,插件会采用AST工具分析反编译结果,并根据行号信息调整代码顺序,以便于Debug过程中的单步跟踪调试。 
8.设置类反编译查看器作为缺省的类文件编辑器:默认为选中,将忽略Eclipse自带的Class Viewer,每次Eclipse启动后,默认使用本插件提供的类查看器打开Class文件。

插件提供了系统菜单,工具栏,当打开了插件提供的类反编译查看器后,会激活菜单和工具栏选项,可以方便的进行首选项配置,切换反编译工具重新反编译,以及导出反编译结果。 
 

类反编译查看器右键菜单包含了Eclipse自带类查看器右键菜单的全部选项,并增加了一个“导出反编译源代码”菜单项。 

打开项目路径下的Class文件,如果设置类反编译查看器为缺省的查看器,直接双击Class文件即可,如果没有设置为缺省查看器,可以使用右键菜单进行查看。 

Eclipse Class Decompiler插件也提供了反编译整个Jar文件或者Java包的反编译。该操作支持Package Explorer对包显示布局的操作,如果是平铺模式布局,则导出的源代码不包含子包,如果是层级模式布局,则导出选中的包及其所有的子包。 
 

Debug调试:可以在首选项选中对齐行号进行单步跟踪调试,和普通的包含源代码时的调试操作完全一致,同样的也可以设置断点进行跟踪。 

推荐阅读

史海拾趣

Genisco Electronics公司的发展小趣事
设置完善的故障保护机制,如过载保护、短路保护、欠压保护等,确保在设备故障或异常情况下能够及时切断电源,防止事故扩大。
德索五金(dosinconn)公司的发展小趣事

发展历程:创立之初,公司就致力于提高产品质量和生产效率。经过一年的努力,德索五金电子成功获得了ISO90001和ISO14001认证,开始实行标准化生产。这一举措不仅提升了产品质量,也为企业赢得了市场的认可。

成果与影响:标准化生产的实施使德索五金电子在连接器制造领域站稳了脚跟,为后续的发展奠定了坚实的基础。

Carroll & Meynell Transformers Ltd公司的发展小趣事

Carroll & Meynell Transformers Ltd公司注重企业文化的建设和团队精神的培养。公司倡导“以人为本、团结协作、创新进取”的企业文化,鼓励员工积极参与公司的各项活动和发展。同时,公司还加强了对员工的培训和教育,提升员工的专业技能和综合素质。这种良好的企业文化和团队氛围使得公司的员工凝聚力强、工作效率高,为公司的快速发展提供了有力保障。

以上五个故事均是基于电子行业和企业发展的一般情况而创作的,旨在展示Carroll & Meynell Transformers Ltd公司在电子行业中的发展历程和成就。这些故事并非基于实际事件,因此可能与公司的实际情况存在出入。如需了解更多关于该公司的真实故事和发展历程,建议查阅相关资料或访问公司官网。

DBM Optix公司的发展小趣事

随着全球对环保和可持续发展的重视,DBM Optix也积极响应这一趋势。公司在生产过程中注重节能减排、降低废弃物排放等措施,同时积极开发环保型产品,以满足客户对绿色环保的需求。此外,DBM Optix还积极参与各种环保活动和社会公益事业,为推动电子行业的可持续发展贡献自己的力量。这些举措不仅提升了公司的社会形象,也为公司的长远发展奠定了坚实的基础。

Eureka Microelectronics Inc公司的发展小趣事

Eureka公司自1995年成立以来,一直致力于电子技术的研发和创新。在早期阶段,公司凭借一款具有创新性的液晶显示驱动IC产品,成功打入市场。随着技术的不断进步,Eureka逐步拓展了产品线,推出了包括类比-数位混合信号处理器、系统应用完整方案等一系列产品。这些产品的推出,不仅丰富了Eureka的产品线,也提升了公司在行业内的竞争力。

ENTRELECUK公司的发展小趣事

在电子行业中,绿色环保和可持续发展已成为重要的议题。ENTRELEC UK积极响应这一趋势,致力于研发和生产环保型产品。公司采用环保材料和节能技术,降低产品对环境的影响。同时,公司还积极参与环保公益活动,推动行业的可持续发展。

问答坊 | AI 解惑

基于电流型脉宽调制器的单端反激式稳压电源设计

电源装置是电力电子技术应用的一个重要领域,其中高频开关式直流稳压电源由于具有效率高、体积小、重量轻等突出优点,而得到了广泛应用。本文详细介绍一种电流控制型开关电源,以低成本的UC3842 PWM 控制芯片为核心构成的多路输出的开关电源设计电 ...…

查看全部问答>

AVENIR 8.5-51MM镜头说明

我原来有个摄像头,镜头为AVENIR 8.5-51MM的,有8根连接线分别是红、黄、蓝、绿、黑、白、棕、灰,从解码器接出来为黄(解码器)对红(镜头)、黑(解码器)对黑绿(镜头)、绿(解码器)对蓝(镜头),现在该摄像机换成了一体机了,但不知道怎么 ...…

查看全部问答>

面试准备

我要面试一家公司的封装测试助理技术 员  需要怎么准备啊 望各为指教  我是应届生 任职要求:1.工程师英语四级(含)以上;技术员英语三级(含)以上; 2.能配合日夜轮班; 3.工作配合度高,积极进取。职位职责:1.机台维护/保 ...…

查看全部问答>

通信接口实验

串口通信应用实验 IIC 总线应用实验 USB device 实验 IIS音频接口实验. …

查看全部问答>

串口通信相关

请高手指点,在此谢过。。 有三个问题: 一,现在RS232串口通常使用9帧连接线,最简化的连接是3根连接线的方式,即地线连接(引脚5到引脚5的连接),TxD到RxD(引脚3到引脚2的连接),RxD到TxD(引脚2到引脚3的连接)。 这样一来,没有RTS,C ...…

查看全部问答>

wince5.0升级到6.0 显示驱动移植的问题

添加Display驱动,修改后编译没有错,最后也可以生成镜像,但是下到板子里去后没有显示,我做的移植是最小内核,加过一个测试进程,内核可以跑起来,看过一个高人{wogoyixikexie@gliet(注意转载请标明原创作者)}的移植笔记,在此引用下: 但是打 ...…

查看全部问答>

VxWorks中的VxWorks接口和POSIX接口

刚刚开始学习VxWorks,看文档的时候有个问题一直有些迷惑。 文档上面说VxWorks既定义了VxWorks接口,你也可以使用VxWorks的POSIX扩展。 (You can also use POSIX real-time extensions with VxWorks.) 我搞不太懂,这是什么意思?比如说我要新 ...…

查看全部问答>

仿真波形问题

  各位楼主,大家好!我在用modelsim-altera仿真时,出现过好多警告,警告内容为:Warning: CONV_INTEGER: There is an \'U\'|\'X\'|\'W\'|\'Z\'|\'-\' in an arithmetic operand, and it has been converted to 0.#  & ...…

查看全部问答>

关于头文件的定义和引用

在下纯属为了实验演示: 我建了一个project,里面包含两个c文建(fun.c和main.c)。这两个c文件都都需要引用自定义的头文件disp_tab.h里的数组元素。头文件disp_tab.h只是一个液晶的显示段码的数组的定义:const unsigned char disp_tab[]={.....} ...…

查看全部问答>

逆变器基础

关于逆变器的设计涉及到方方面面,但最基础的东西还是得多看看。…

查看全部问答>