|
2
|
| Grundlefleck anujkk · 技术社区 · 15 年前 |
|
|
1
2
我认为在一般情况下这是不可能的。考虑:
在更简单的情况下,可以将堆栈跟踪回
|
|
|
2
0
我从未使用过ASM,但是,我有字节码操作的经验。
或
指令(1)复制堆栈上的对象_ref和值。(2) 删除该值。(3) 加载“this”引用。(4) 如果'this'等于对象\u ref,则执行代码,否则不执行任何操作并跳转到PUTFIELD。
|
|
|
3
0
另一种方法(运行时): 可以使用AspectJ为类设置字段集/获取切入点。参见: http://www.eclipse.org/aspectj/doc/released/progguide/semantics-pointcuts.html 和 http://www.eclipse.org/aspectj/ 在定义切入点之后,您将编写一些建议,通过使用thisJoinPoint变量简单地打印出当前的执行位置。然后,当运行你的程序时,你会有一个很好的日志记录所有字段被获取/设置的地方。
|