デバイスで gdbserver を実行し、実行可能ファイルにアタッチする必要があります
gdbserver には ndk があらかじめ組み込まれており、通常は<ndk>/prebuilt/android-arm/gdbserver/
gdbserver バイナリをデバイスにコピーします。たとえば/data/local/tmp
、chmod
実行可能ファイルが既に実行されている場合は、PID
withps
コマンドを見つけて gdb をアタッチします。
gdbserver :5039 --attach <PID>
5039 は gdb でのデバッグに通常使用されるポート番号であることに注意してください。必要に応じて独自のものを使用できます。
デバイスからPCへのポート転送を設定します
adb forward tcp:5039 tcp:5039
gdb をローカルで実行します。通常、ndk に付属しているアーム ターゲット gdb が必要であることに注意してください。
<ndk>toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64/bin/arm-linux-androideabi-gdb
プロセスに gdb をアタッチする
target remote :5039
ここから、デバッグの期待に一致する gdb コマンドを使用する必要があります (ブレークポイントの設定、シンボルのロード、ステップスルーなど)。たとえば、チートシートを使用するか、コメントで質問してください