Eclipse配置Bytecode Outline及使用

一、安装

安装Bytecode Outline插件方法:

 1 下载Bytecode Outline插件

http://forge.objectweb.org/projects/asm/页面下载

bytecode-outline2.0.2June 18, 2005Release Notes -Monitor this package檔案下載
asm-plugin2.2.1December 14, 2005Release Notes -Monitor this package檔案下載

下载bytecode-outline和asm-plugin两个jar包,

2 解压jar分别为两个目录de.loskutov.BytecodeOutline_2.0.2      org.objectweb.asm_2.2.1,拷贝两个目录到eclipse的plugin目录下

3 启动eclipse,点击 window-> show view->byte outliine,即可显示byte outline部分

配置成功,


二、基本使用

重新启动Eclipse后,可以在菜单Window => Show View => Other => Java => 可以看到多了Bytecode、Bytecode Reference两项,把这两项打开显示出来。

  使用

  我们简单地创建一个示例工程,里面包含有一个接口类与两个实现该接口的实现类进行演示说明使用的方法。

  接口类:IHelloWorld.java
 
public interface IHelloWorld 
{ 
 String sayHelloWorld(); 
} 

 
  实现类一:HelloWorld1.java
 
public class HelloWorld1 implements IHelloWorld 
{ 
 public HelloWorld1() 
 { 
  super(); 
 } 

 public String sayHelloWorld() 
 { 
  return "Hello World HelloWorld1"; 
 } 
} 

实现类二:HelloWorld2.java 
public class HelloWorld2 implements IHelloWorld 
{ 
 public HelloWorld2() 
 { 
  super(); 
 } 

 public String sayHelloWorld() 
 { 
  return "Hello World HelloWorld2"; 
 } 
} 

  双击打开IHelloWorld.java文件,在Bytecode窗口中可以看到如下信息:

  当光标定位在sayHelloWorld上面,则Bytecode内容相应地进行改变。

  点击ASM图标可以在true bytecode和ASMifier Java code 视图间进行切换

  当光标定位在sayHelloWorld上面,则Bytecode内容相应地进行改变。

  选中Link With Editor图标,当Java编辑器中当前的Java文件改变时,Bytecode里的内容会跟随着进行改变,方便进行查看。

  选中Show bytecode for current field/method only图标,当Java编辑器中当前的Java文件定位在某个域或方法时,则仅显示域或方法的字节码,方便进行查看,如下图仅定位在sayHelloWorld方法上,仅显示这个方法的相关信息。

  选中时,会把相关的附加信息也显示,比如下面的String,就会把java.lang包名都显示出来了。

  这些开关也可以通过下拉菜单来进行切换与设置,一样的操作方法。

  选中图标,可以切换到字节码的指令集视图上面来,当光标定位到不同的上面就会同样定位到相应的指令上,同样,在指令上面点击,相应地会定位到指令所对应的代码上去。

  比较两个Java代码的字节码

  相异之处特殊显示出来,以供查看。

  切换到ASM视图进行比较

  比较两个class代码的字节码

  比较一个Java文件和一个class文件的字节码

  选择比较其它的Java或class文件进行比较

  选择文件

  附带的JVM指令参考JVM Instruction Reference,有比较详细的资料说明。

  Help => Help Contents => JVM Instruction Reference

  更多的使用方法可以参阅: http://andrei.gmxhome.de/bytecode/index.html

  总结

  这是一个很不错的学习编译、反编译、字节码的工具。


  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值