Eclipseを使用して、独自のC++で作成されたJVM内で実行されているJavaコードをデバッグするにはどうすればよいですか? 私はネイティブアプリケーションは、次のことをやって持って:ネイティブコードで作成されたJVMの内部で実行されているJavaコードをデバッグする方法は?
JavaVM *javaVM;
JNIEnv *jniEnv;
long flag = JNI_CreateJavaVM(&javaVM, (void**) &jniEnv, &vmArgs);
jclass jcls = env->FindClass("my/namespace/Demo");
// then run code
[...]
私はそこから私のJavaコードの一部を実行します。 Javaコードを良い状態で毎日作成してデバッグできるように、Eclipse環境とデバッガが完全に壊れていることが重要です。
私の質問は次のとおりです。どのように設定することができますか?例えば
は、Visual StudioにWindows上で、私がすることができます:
- が、このVMから実行するためにいくつかのC#コードを記述するC++アプリケーション内
- から.NET VMを作成します。
- DLL(JARではなく)でホストされるC#コードをデバッグするには、デバッガがC++アプリケーションの実行ファイルを起動するように指定する必要があります。デバッグを開始するとC#ブレークポイントに自動的に到達します。
::DebugBreak()
施設(または同等のC#)を使用することもできます。
私の質問にリモートで類似している私が見つけた唯一のものは
Debug a java application without starting the JVM with debug arguments
で、質問は9歳です。
ベスト、
MF
NB:私は、Javaアプリケーションから実行されているJNI C++コードをデバッグしようとしているわけではないことに注意してください。私は、JNIの人々がここで助けることができると思われるので、私の質問にjni
タグを追加しています。
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=9999
JDWPのみで入手可能ないくつかのJVM TIのcababilitiesが必要です。