我正在尝试使用JVMTI,以便用C++编写一个小的Java调试器。我在这里读到:
http://java.sun.com/developer/technicalArticles/Programming/jvmti/
JVM应该调用像这样定义的导出方法
JNIEXPORT jint JNICALL Agent_OnLoad(JavaVM *jvm, char *options, void *reserved)
但是当我运行我的调试器时,我没有看到这个方法被调用,即使我启动了我的java目标程序。
这是启动这个JVMTI的正确方式吗?它应该在java程序启动时自动调用吗?
发布于 2011-12-20 03:51:09
当您在调用Java程序时提供"-agentlib“命令行参数时,就会加载调试代理代码,例如:
$java -agentlib:jvmti_debugger javaSampleClass关于它的一篇更新的文章位于here。
https://stackoverflow.com/questions/8565816
复制相似问题