NEXUS7 2013 LTE JLS36C(4.3) で ndk-gdb-py でデバッグを試したところ
デバッグできなかたのですが、解決策を見つけました。
結果としては JLS36I(4.3.1) にアップデートして ndk-gdb, ndk-gdb-py を試してみて
だめな場合は system.img のみを再焼きこみしてください。
自分の NEXUS7 2013 は OTA によるアップデートのみで
- JSR78D
- JLS36C(4.3)
とバージョンアップをしてきました。
あと IPv6 が取れなかったのでデータリセットを JLS36C のときにおこなっています。
会社の先輩に尋ねてみたところ 4.3 にしてからデバッグできなくなったとの事だったので検索してみると
https://code.google.com/p/android/issues/detail?id=58373
などがが引っかかりました。
chmod が足りないんじゃないかとか突込みが入っていますが
ターゲット上で ps コマンドで確認すると lib/gdbserver は起動しているのですが
手元の端末ではアタッチの段階でけられている状態です。
GNU gdb (GDB) 7.3.1-gg2 Copyright (C) 2011 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "--host=x86_64-pc-mingw32msvc --target=arm-linux-android". For bug reporting instructions, please see: <http://source.android.com/source/report-bugs.html>. ./obj/local/armeabi/gdb.setup:4: Error in sourced command file: Remote communication error. Target disconnected.: No error. (gdb) q Exited gdb, returncode 0
で、OTA の JLS36I(4.3.1) を適用して再度チャレンジしてみたのですが直っていない…
4.3 の時の run-as を引っ張り出しておいてハッシュチェックをしたのですが
4.3 と 4.3.1 ではハッシュとサイズが同一なので run-as 自体には問題ないようです。
いやいや、Google Nexus シリーズなのに ndk-gdb, ndk-gdb-py できないのはおかしいだろと思って悪あがきを続けました。
4.4 が出る前だったので最後に試してみるかと思って 4.3.1 になっている状態で 4.3.1 の system.img のみを焼きこんでみると動くようになりました。
実は ADB shell で中をのぞくと *.p ファイルが残っていたりとかなりおかしな状況になっているので気にはなっていました。
sytem.img を焼きなおして中をのぞいてみるときれいさっぱり消えたので結果的には良かったと思います。
どうにも OTA のバージョンアップでどこかの段階で差分バージョンアップに失敗していたのではないかと思います。(一番最初の JSR78D から JLS36C が一番怪しいです)
Pingback: すらりん日記 » Blog Archive » Android 4.3 に更新したら ndk-gdb できなくなった!?|No:2746|すらりん日記
こちらも 4.3 にて、ndk-gdb でトラブルに見舞われたので参考にさせていただきました。
こちらでは、selinuxの権限周りで妙な状態になっていました・・・。
http://blog.techlab-xe.net/archives/2746