2016-11-02 7 views
1

私はC++で書かれたWindowsの実行可能ファイルを持っています。 libJVMを共有ライブラリとしてロードし、JNI経由でJavaプログラムを実行します。 Eclipse IDEを使用して、そのJavaプログラムをデバッグします。どうやってやるの?最後の手段として、私はC++プログラムを修正することさえできます。jvm.dllによって実行されるJavaプログラムへのデバッガの接続方法は?

+1

デバッグモードでJVMを起動し、接続できるポートを指定する必要があります。 Eclipseは、これを実現するために必要なコマンドラインオプションを提供するのに役立ちます。テスト目的であれば、C++なしでJVMを実行する手段があることを強くお勧めします。 –

+1

C++プログラムからリモートデバッグする必要はありますか? C++プログラムによって渡された入力パラメータを使用してEclipseでJavaプログラムを直接実行しないでください。 –

答えて

2

あなたのC++コードで作成されたJavaVMインスタンスにデバッグパラメータを追加する必要があると思います。

Eclipseネイティブランチャーコードは、あなたの仕事に影響を与えることができます。ランチャーのWindows versionを見て、startJavaJNI機能(行305)を検査してください。ライブラリlibPathとパラメータvmArgsへのパスがあります。 vmArgsには通常の-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=4242文字列を含めることができます。

JavaVMInitArgsJavaVMOption要素に追加する必要があります。

関連する問題