3

我的 javaagent 通过 -javagent 运行,在我的一个类上使用对静态方法的回调来检测类。这很好用,除了系统类,例如 java/lang、java/util,它们在调用方法时抛出 ClassDefNotFounderror(使用 INVOKESTATIC)。所以看起来他们被检测了,因为方法调用被尝试了,但是我的用户类没有访问或可见性问题。我的回调类及其方法都是公开的。

我已经尝试将我的类添加到类路径中(而不是仅仅通过 -javaagent 加载),但这并没有帮助。我需要覆盖一些系统类的保护吗?

4

1 回答 1

0

听起来您正在明确寻找要检测的类。为什么不使用java.lang.instrument拦截目标 JVM 执行时正在加载的类?看这个例子

您可以粘贴您的代码或相关部分吗?

于 2012-04-22T05:01:10.363 回答