0

チーム メンバーの JNI の問題をデバッグする必要があります。問題は、JNI を使用して USB 接続されたハードウェアに接続する Java アプリにあります。彼は、C++ dll に実装された JNI 関数が Java アプリによって呼び出されていないと述べています。また、彼は、それが不満足なリンクエラーの問題ではないと具体的に述べました.これは私が最初に疑うものでした.

奇妙なことは、彼の開発システムで Java アプリケーションが正常に動作し、JNI 呼び出しが適切に行われていることです。ただし、QA チームのターゲット マシンでは、Java アプリが機能していないようです。

DLL (32 ビット) は VS2010 を使用して生成され、ターゲット マシンは WinXP/Win 7 32 ビット システムでした。開発システムで DLL が認識されたので、DLL メソッドの署名の問題を除外します。前述のとおり、リンクの問題ではありませんでした。

JNI メソッドがまったく呼び出されない問題は何でしょうか? これは再配布可能ファイルの問題でしょうか? (JVM オプションを使用して) デバッグし、問題を確認する方法は?

4

1 に答える 1

0

標準的なデバッグ手順:

  1. Java でブレークポイントを設定する
  2. ブレークポイントまで実行
  3. デバッガーを Java 実行可能ファイルにアタッチします (プロセス ID による Visual Studio アタッチ)
  4. JNI にブレークポイントを設定します。
  5. Java プログラムを続行します。
于 2012-05-22T19:04:49.400 に答える