Mar*_*ers 11
Eclipse的默认类文件查看器显示源(请参阅VonC的答案),如果它已与二进制文件关联,否则它提供类的类似javap的视图(带有附加源的选项).我猜你正在寻找的是后者.
我从来没有找到一种方法来干净地强制Eclipse显示输出而不是链接源.您可能想要的是一个Eclipse插件,它提供类似Javap的功能(或javap的接口).寻找说明他们"反汇编"的插件(而不是"反编译",就像jad).
除了一个插件,你可以配置一个外部工具来执行javap,但它可能不适合其他eclipse功能.
编辑:让我清楚以上内容:如果你点击F3,Eclipse会执行以下操作(通常,实际过程可能略有不同):
对于类/方法声明,它继续在构建路径上搜索包含声明的类文件的引用.如果找到了,那么
a)如果类文件附加了源文件,请打开链接Java文件的只读编辑器.
b)如果类文件没有附加源,则打开一个只读面板,显示已编译类文件的反汇编(javap-like)字节码.
我的猜测是你认为有3.b)的专用键序列,但我认为没有.但同样,我希望在这里被证明是错误的.
您可以使用ASM 4.0插件.

安装
Bytecode Outline插件可以从Eclipse Update Manager安装到ObjectWeb Eclipse更新站点http://download.forge.objectweb.org/eclipse-update/. 或者,插件可以从ObjectWeb Forge站点下载,并手动安装在Eclipse插件目录中.
用法
要查看当前.java或.class文件的字节码:
窗口 - >显示视图 - >其他 - > Java - >字节码
要比较两个.java或.class文件的字节码:
选择两个*.class或*.java文件 - >右键单击 - >比较 - >每个其他字节码
要么
选择一个*.class或*.java文件 - >右键单击 - >比较 - >另一个类字节码
http://asm.ow2.org/eclipse/index.html
使用以下外部工具配置,我们可以在以下帮助下查看eclipse中的java字节代码javap:
要获得上面的弹出选择Run选项并选择External Tools并选择External Tools configuration...
${system_path:javap}用于在Eclipse使用的JDK中定位javap.您可以使用javap的绝对路径.
${project_loc}返回项目的绝对路径.这是使用的,因为我找不到要使用的预定义变量来定位.class资源的文件,这就是为什么javap在项目的目录而不是包含该.class文件的目录中运行的原因.
传递给的论点包括javap:
bin是Eclipse项目的默认输出文件夹.将此更改为build/classes或项目使用的任何内容.注意,该值是相对的${project_loc}; 您可以改为指定绝对路径.${java_type_name} 用于获取所选的类名.您可以在Project explorer视图或Project导航器视图中选择Java文件,甚至可以在任何视图中选择Java类型,然后运行外部工具.注意 - 当您选择方法,内部类等然后运行该工具时,这种方法不能很好地工作,因为它们本身不是资源,导致${project_loc}将为空的场景.
Garbage Tools博士是一套在Apache Open Source许可下发布的Eclipse插件.
使用Eclipse Marketplace 安装Bytecode Visualizer.
要查看字节码:
"窗口>首选项>常规>编辑器>文件关联"
将默认值更改为两个.class关联.
" *.class ":默认选择"类反编译器查看器".
" *.class without source ":默认选择"Class Decompiler Viewer".
| 归档时间: |
|
| 查看次数: |
33572 次 |
| 最近记录: |