java - JMVTI :Could not find agent library

标签 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 agent 完整路径,得到相同的结果。

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

请帮忙找出我做错了什么

最佳答案

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

差异解释here .

关于java - JMVTI :Could not find agent library,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32605996/

相关文章:

java - 10,100,200,300...测试时不工作

java - 在多个工作线程中平衡负载的算法

java - 如何在 java 中将 .TIF 图像设置为 ImageIcon?

Java - 在 JVM 启动时加载附加类

java - 解决 JNI DefineClass 中的依赖关系

java - Java中数组的序列化

java - 构造函数中令人困惑的 Java 分配引用

java - 如何在类和jvm中获取 Activity 对象?

java - 重新初始化 Java 类

c++ - 为什么我的包含 header 的 makefile 不起作用?