JMVTI:找不到代理库

时间:2015-09-16 10:25:46

标签: java jvm jvmti

我写了一个Java代理,它只是导出两个方法,只是为了检查它是否在JVM上加载。使用mingw-w64 4.8.4(使用JetBrains CLion)构建它。 Windows 7 x64。

JNIEXPORT jint JNICALL
Agent_OnLoad(JavaVM *jvm, char *options, void *reserved){
  return JNI_OK;
}

JNIEXPORT void JNICALL
Agent_OnUnload(JavaVM *vm){}

运行错误

java -agentlib:"C:\JMVAgent\agent.dll"

Error occurred during initialization of VM
Could not find agent library libSampleAgent.dll on the library path, 
with error: Can't find dependent libraries

此外,我将agent.dll放入c:\ windows \ System32并运行java w / o代理程序完整路径,结果相同。

DependencyWalker显示没有依赖性错误 enter image description here

请帮助找出我做错的事情

1 个答案:

答案 0 :(得分:3)

如果您要指定代理库的完整路径,请使用-agentpath代替-agentlib

区别在于here