历史上的今天
今天是: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调试:可以在首选项选中对齐行号进行单步跟踪调试,和普通的包含源代码时的调试操作完全一致,同样的也可以设置断点进行跟踪。
史海拾趣
|
电源装置是电力电子技术应用的一个重要领域,其中高频开关式直流稳压电源由于具有效率高、体积小、重量轻等突出优点,而得到了广泛应用。本文详细介绍一种电流控制型开关电源,以低成本的UC3842 PWM 控制芯片为核心构成的多路输出的开关电源设计电 ...… 查看全部问答> |
|
我原来有个摄像头,镜头为AVENIR 8.5-51MM的,有8根连接线分别是红、黄、蓝、绿、黑、白、棕、灰,从解码器接出来为黄(解码器)对红(镜头)、黑(解码器)对黑绿(镜头)、绿(解码器)对蓝(镜头),现在该摄像机换成了一体机了,但不知道怎么 ...… 查看全部问答> |
|
添加Display驱动,修改后编译没有错,最后也可以生成镜像,但是下到板子里去后没有显示,我做的移植是最小内核,加过一个测试进程,内核可以跑起来,看过一个高人{wogoyixikexie@gliet(注意转载请标明原创作者)}的移植笔记,在此引用下: 但是打 ...… 查看全部问答> |
|
刚刚开始学习VxWorks,看文档的时候有个问题一直有些迷惑。 文档上面说VxWorks既定义了VxWorks接口,你也可以使用VxWorks的POSIX扩展。 (You can also use POSIX real-time extensions with VxWorks.) 我搞不太懂,这是什么意思?比如说我要新 ...… 查看全部问答> |
|
在下纯属为了实验演示: 我建了一个project,里面包含两个c文建(fun.c和main.c)。这两个c文件都都需要引用自定义的头文件disp_tab.h里的数组元素。头文件disp_tab.h只是一个液晶的显示段码的数组的定义:const unsigned char disp_tab[]={.....} ...… 查看全部问答> |








