在使用 VisualVM 对我的应用程序进行 cpu 分析时,我遇到了错误
“Profiler Agent 错误:带有消息:重新定义失败,错误 66”。
在那之后,它将所有类文件从构建路径复制到我启动应用程序的位置。
我试图找到一些关于它的信息,错误代码的意思是(根据JVMTI-documentation):
JVMTI_ERROR_UNSUPPORTED_REDEFINITION_HIERARCHY_CHANGED (66)
对于新的类版本,直接超类不同,或者直接实现的接口集不同。
因为分析通常在我的环境中工作(Java build 1.7.0_09-b05,Fedora 17 64 位)。我已经尝试过 Visualvm-docs 中所说的“-Xshare:off”,但没有任何效果。
由于这是我遇到此问题的唯一 Java-SE 应用程序,因此它似乎与我正在使用的库有关。以下是我的类路径:
- Log4j 1.2.17
- Apache OpenJPA 2.2.1
- 公共配置 1.9
- 共享池 1.6
- PostgreSQL 9.1-901jdbc4
- imgscalr-lib-4.2
任何人都可以看到库和错误之间的相关性吗?我真的没有想法了。