用java attach api + java instrument api写java agent的注意事项

用java attach api + java instrument api写java agent的注意事项

1. 字节码的transformation一旦发生,就会一直生效;agent的detach或中止,并不会使transformation回滚。

2. 由于#1,对于一个目标进程,在允许retransform的条件下,如果先后两次启动agent,就会导致两次transformation的效果叠加起来。举例来说,如果你的transform是在某方法里插入一条日志语句,那如果你先后两次使用你的agent,就会导致被transform的类在执行时生成两条日志。

待续…..

Leave a Comment

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.