解析一个.class文件,然后给该class文件对象的类里的方法参数赋值,要解析传入这些参数使该方法走了哪些具体的分支。
本人想法的是:在每个分支的地方插入装置变量如一个log。。通过记录日志的方法记录每个分支。。
例子:public void re(int a,int b){
if(a>b){ //分支一
....在这里记录log1中(装置变量)
.........
}else{ //分支二
log2....(装置变量)
.......
}
}
问题:我现在是要解析别人的.class文件,用反射是做不到向方法内插入装置变量的,换句话说我怎么在别人的类的方法分支处插入装置变量?请教各位高手,谁能赐教一下,十分感谢。
本人想法的是:在每个分支的地方插入装置变量如一个log。。通过记录日志的方法记录每个分支。。
例子:public void re(int a,int b){
if(a>b){ //分支一
....在这里记录log1中(装置变量)
.........
}else{ //分支二
log2....(装置变量)
.......
}
}
问题:我现在是要解析别人的.class文件,用反射是做不到向方法内插入装置变量的,换句话说我怎么在别人的类的方法分支处插入装置变量?请教各位高手,谁能赐教一下,十分感谢。
解决方案 »
- 请各位高手帮忙看看一小段代码~~~~~~~
- java2D的问题
- 请问这个包 com.apple.mrj.swing 应该到哪里去下载?
- 请教高手!这段程序中到底出了什么问题????
- 有人用新浪点点通吗?为何现在老是连不上?
- swing对话框问题?
- 一个关于取得本地文件路径的问题?
- iPlanet下怎样设置动态链接库的路径?
- 您知道【Java开发者】http://www.ChinaJavaWorld.com吗?
- 想从一个文本文件中读出数据怎麽办?
- 哪位大虾能给个处理有效代码的例子(用到正则表达式,I/O流。。 )
- 我有3年java开发经验了,面对这个基础问题束手无策。在jdk1.5中,如何获得一个未声明泛型集合的泛型类型
但是使用这些工具修改字节码得对 JVM 指令集有相当的了解。
那更麻烦,得先定位到需要插入的地方。像一些动态代码框架,比如 Cglib 就是使用 ASM 直接修改字节码的。可以到 ASM 的网站上去看看,有教程的,不过感觉很复杂。http://asm.objectweb.org/