【发布时间】:2018-09-13 21:41:02
【问题描述】:
我有一个执行一些代码检测的 javaagent。 这当然会改变用户的堆栈跟踪,无论何时执行:
new Exception().printStackTrace()
而且它还会影响 Throwable.class 提供的其他服务:
getStackDepth()
getStackElement(int i)
等等……
在某些情况下,我的检测涉及添加新方法。该方法有一个非常独特的前缀,如果可能的话,我想忽略它。
JVMTI 是否以任何方式支持?
或者我是否需要检测使用代理的实际 Java 开发人员可以获得堆栈跟踪/堆栈元素/堆栈深度/等的所有方式...
【问题讨论】: