2011-12-19 75 views
0

我正在尝试使用JVMTI以便在C++中编写一个Java调试器。 我读到这里:
http://java.sun.com/developer/technicalArticles/Programming/jvmti/
的JVM应该调用定义如下
JNIEXPORT jint JNICALL Agent_OnLoad(JavaVM *jvm, char *options, void *reserved)JVMTI未加载

导出的方法,但我不认为这种方法称为运行我的调试器,即使我开始我的Java目标程序。
这是启动这个JVMTI的正确方法吗?它应该在java程序启动时自动调用吗?

回答

0

当您提供“-agentlib”命令行参数,而调用Java程序,如调试代理代码加载:

$java -agentlib:jvmti_debugger javaSampleClass 

它多一点,最近的一篇文章位于here