6

純粋な C++ コードから実行可能なバイナリを作成しましたが、Android デバイスで実行すると時間エラーが発生します。

Android の純粋なネイティブ コードをデバッグするにはどうすればよいですか? 既存のメソッドは純粋なネイティブ コード用ではないようです。

4

2 に答える 2

5

ステップ 1: gdbserver とストリップされていない ネイティブ バイナリ実行可能ファイル(名前が testexec であるとします) を Android エミュレータに配置します。たとえば、フォルダ /data/data/test の下に置くことができます。chmodコマンドを使用して権限を追加します。

ステップ 2: gdb デバッガーを起動します。このステップは、次のサブステップで構成されています。

ステップ 2.1:ホスト マシンのターミナルで次のコマンドを入力して、エミュレータの gdb デバッガを起動します。

 adb shell /data/data/test/gdbserver 10.0.2.2:1234 /data/data/test/testexec 

その後、エミュレータはポート 1234 でリッスンします。

ステップ 2.2 : ローカル マシンの gdb デバッガーをエミュレーターの gdbserver に接続します。

telnet localhost 5554 

プロンプトが表示されます:

Android コンソール: コマンドのリストについては「help」と入力してください

わかった

次に入力します。

redir add tcp:1234:1234

データリダイレクトを有効にしてから入力します

exit

Step2.3 : ローカル マシンの gdb デバッガーを起動します。入力:

arm-linux-androideabi-gdb.exe YOUR_ EXECUTABLE_PATH_ON_LOCAL_MACHINE\testexec

その後、入力

target remote localhost:1234

gdbserver に接続します。

最後に、デバッグをお楽しみください。

于 2012-05-26T02:38:30.030 に答える
-1

Android はGDBの使用をサポートしています。ただし、「純粋な C++」とは、アプリケーションに Java がまったくないことを意味する場合、これは技術的に許可されていないことに注意してください (ただし、確実に実行できます)。NDK のページを参照してください。

于 2012-05-24T23:21:03.400 に答える