我正在尝试使用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程序时自动调用它?
答案 0 :(得分:0)
在调用Java程序时提供“-agentlib”命令行参数时会加载调试代理程序代码,如:
$java -agentlib:jvmti_debugger javaSampleClass
最近有关它的文章位于here。