2015-12-18 44 views
3

我想在每个Java代码之后插入打印代码。 例如:java字节码操作;在每个Java代码之后插入打印代码

public void myMethod() { 
    Integer i = 0; 
    Long l = 0L; 
    Date date = new Date(); 
} 

到:

public void myMethod() { 
    Integer i = 0; 
    System.out.println("test"); 
    Long l = 0L; 
    System.out.println("test"); 
    Date date = new Date(); 
    System.out.println("test"); 
} 

我应该怎么做你能帮助我吗?

+3

你刚刚这样做。 – Maroun

+0

@MarounMaroun nope。他想通过字节代码插入。 –

+2

@sᴜʀᴇsʜᴀᴛᴛᴀ我不明白插入print语句到字节码的含义是什么:/ – Maroun

回答

1

一种方式中,编译器

1解析的溶液您的代码:

Best way to parse Java in Java

2插入自动代码:

使用JET例如

https://eclipse.org/articles/Article-JET2/jet_tutorial2.html

第二个解决方案

创建,并把一些注释(用手)

运行时解决方案

你要调查的字节码。

一些链接: http://web.cs.ucla.edu/~msb/cs239-tutorial/

请参见:生成调用跟踪解决此标签

和帖子: https://stackoverflow.com/questions/tagged/java-bytecode-asm

+0

首先,感谢您的回答。我有一个问题,您如何使用像ASM这样的字节码库来执行此操作?您可以使用它吗? –

+0

@GanZhang,是的,它可以,我把一些链接:请参阅加州大学洛杉矶分校的链接。 –