eclipse 如何调试jar包中的.class文件
来源:互联网 发布:2015年京东双十一数据 编辑:程序博客网 时间:2024/06/05 19:25
最近,换了个项目组,因为项目组中的基线代码(打包成jar的代码)看不到,用jd-gui可以反编译,但是调试遇到了麻烦。因为行数和代码不对应。弄了半个下午,试了很多方法,比如Eclipse Class Decompiler(但是部分jar包可以反编译成java代码,有些不可以)。后来找到如下的方法可以解决调试问题。
转载地址:http://www.blogjava.net/cnfree/archive/2012/10/30/390457.html
闲暇之余,写了一个Eclipse下的Java反编译插件:Eclipse Class Decompiler,整合了目前最好的2个Java反编译工具Jad和JD-Core,并且和Eclipse Class Viewer无缝集成,能够很方便的使用本插件查看类库源码,以及采用本插件进行Debug调试。
Eclipse Class Decompiler插件更新站点: http://feeling.sourceforge.net/update
离线安装包下载地址一:http://feeling.sourceforge.net/downloads/org.sf.feeling.decompiler_1.0.3.zip
离线安装包下载地址二:http://www.blogjava.net/Files/cnfree/org.sf.feeling.decompiler_1.0.3.zip
本插件仅支持Windows,Linux,Macosx操作系统。
直接使用Eclipse进行更新,支持Eclipse 3.x, 4.x,不依赖任何其他插件,直接勾选更新插件即可。
不少朋友问有没有英文版的,实际上创建一个Eclipse的快捷方式,加上 -nl en_US 参数,所有的插件都会自动显示成英文,包括Eclipse Class Decompiler插件。
下图为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文件。
插件提供了系统菜单,工具栏,当打开了插件提供的类反编译查看器后,会激活菜单和工具栏选项,可以方便的进行首选项配置,切换反编译工具重新反编译,以及导出反编译结果。
打开项目路径下的Class文件,如果设置类反编译查看器为缺省的查看器,直接双击Class文件即可,如果没有设置为缺省查看器,可以使用右键菜单进行查看。
Eclipse Class Decompiler插件也提供了反编译整个Jar文件或者Java包的反编译。该操作支持Package Explorer对包显示布局的操作,如果是平铺模式布局,则导出的源代码不包含子包,如果是层级模式布局,则导出选中的包及其所有的子包。
- eclipse 如何调试jar包中的.class文件
- 如何修改jar包中的class文件
- 如何修改jar包中的class文件?
- 如何修改jar包中的class文件
- Eclipse中如何快速查看jar包中的class源码
- 如何将.class文件打成jar包
- 如何将class文件打成jar包
- 如何将class文件打jar包
- 如何将.class文件打成jar包
- kettle替换jar包中的class文件
- 批量反编译jar包中的class文件
- 如何使用Eclipse进行jar包调试
- 在eclipse中反编译并查看jar包中的class文件
- eclipse 如何隐藏项目中的jar包
- eclipse直接查看jar包中class文件的源代码
- eclipse直接查看jar包中class文件的源代码
- 如何访问Jar包中的资源文件
- 如何将包含.class文件的文件夹打成jar包
- 输出由*组成高为n的等腰三角形
- Amap_tarce_replay
- AOP之PostSharp
- ruby系统使用memcache缓存
- Python科学计算环境简介——Anaconda Python
- eclipse 如何调试jar包中的.class文件
- python内建模块之itertools
- 在引入项目时,如何更改android工程名
- Warning: Attempt to present A on B whose view is not in the window hierarchy!
- There is no 'root'@'%' registered解决
- 一步一步学习 Linux 驱动之字符设备 LED
- myeclipse8.5安装axis2
- java操作hdfs
- Amap_xyxyshow