ndk-gdb を使用してネイティブ アプリケーションをデバッグする際に問題が発生します。これは私の環境です:
- OS X El キャプテン 10.11.5
- NDK バージョン r12
- SDK バージョン 24
- ビルド ツール バージョン 24.0.0
- Android N を搭載した Nexus 6P 端末(NPD35K)
問題:
起動しようとndk-gdb
すると、常にメッセージで失敗します
Error: unable to connect to device.
Remote connection closed
ただし、gdbserver
アプリが一時停止されているため、インスタンスは既に起動されており、リストに表示gdbserver
されていadb shell ps
ます。
私が試したこと:
- スクリプト
で開始
gdbserver
する代わりに、手動で起動し、 実行が継続することを確認しましたndk-gdb
gdbserver
adb run-as
gdbserver
によってソケットフォワードを行います
adb forward :5039 localfilesystem:/the_gdb_socket_path
netstat -na | grep 5309
ポートがリッスンしていることを確認するために使用しますtelnet localhost 5039
ソケットをテストするために使用しますが、エラーが発生しますConnection closed by foreign host
接続時にリモート gdb が失敗した問題の原因を特定するより良い方法はありますか?