2011-12-19 32 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