4

C で記述されたネイティブ メソッドを呼び出す単純な Java アプリケーションを記述しようとしています。Netbeans IDE を使用しており、コードは完全に機能しますが、デバッグ時にネイティブ (C) コードのブレークポイントにヒットする方法がありません。

Mac OS X Lion で netbeans 7.1.2 を使用しています。Java プロジェクトをデバッグ モードで開始し、Debug/Attach Debugger/gdb メソッドを使用しようとしましたが、デバッガ コンソールに次のメッセージが表示されます。

11-break-insert -f "/Users/user/NetBeansProjects/JniFileDemoCdl/JniFileDemo.c:8" 12-break-insert -f "/Users/user/NetBeansProjects/JniFileDemoCdl/JniFileDemo.c:42" 13-break- insert -f "/Users/user/NetBeansProjects/JniFileDemoCdl/JniFileDemo.c:80" 14-exec-continue

このステップを超えて何をすべきか、ネイティブのブレークポイントに到達する方法がわかりません。

更新: Netbeans で C と Java の両方のコードを同時にデバッグする方法を見つけました。

その方法は、ネイティブ メソッドにブレークポイントを設定して Java プロジェクトを開始することです。次に、C プロジェクトをメイン プロジェクトとして設定し、Attach Debugger を使用して Java プロセスをそれにアタッチします。C コードにブレークポイントを設定します。これを行うと、Java デバッガー ウィンドウが非表示になりますが、左下の画面に [Sessions] ボタンが表示されます。それをクリックして Java セッションに戻ります。ネイティブ メソッドをステップ オーバーすると、ウィンドウは C コード ブレークポイントに移動しますが、デバッグ ボタンはアクティブではありません。もう一度セッション ボタンを押して C セッションを選択すると、デバッグが表示されます。コントロールします。ハッピーデバッグ!

4

0 に答える 0