Android Emulator 上で動くプロセス(NDK、Apps等)を GDB でデバッグする方法です。
前提条件
- Emulator 内に gdbserver がインストールされていること
- Emulator を起動しているPCと、Emulator の CPU アーキテクチャが同一であること
- Emulator のバイナリにパスが通っていること
- Emulator と ADB が接続可能であること
デバッグするためのコマンドと手順
step
1Emulator を起動
command
$ ./emulator &
step
2Emulator 上で動作しているプロセスリスト一覧を表示
command
$ adb shell ps -A
step
3一覧からデバッグしたいプロセスに gdbserver でアタッチ
command
$ adb shell gdbserver :9999 --attach <PID> &
メモ
- <PID> は、カッコ無しでプロセス一覧で表示された PID(数字)を入力する
- :9999 は、ポート番号。未使用のポート番号を指定する
step
4Emulaator を起動した PC 上で GDB を起動、リモートデバッグ
command
$ gdb
(gdb) target remote :9999