aspectj-maven编译器插件:如何编织JRE System.*



我试图检测一个神秘的System.gc((来自哪里,所以我希望在所有对System.gc((的调用上创建一个切入点

文档描述了如何编织现有的jar和dirs,但是如何编织JDK本身?

非常感谢

您可以预先编织rt.jar并在JDK/JJRE中替换它。请注意,加载时编织将不起作用,因为Javaagent没有访问引导类加载器的权限。

然而,快速搜索显示,在整个JDK(Sun 1.6.0_26(中,只有一个地方显式调用System.gc()

java.nio.Bits#reserveMemory

也许您可以简单地附加一个调试器,并在gc()方法上设置一个断点?

也就是说,您可以使用call()建议,而不是execution(),后者将编织调用客户端代码而不是目标方法。所以你只需要编织你的代码和所有的库,而不是JDK。

最新更新