Сейчас на форуме: -Sanchez- (+7 невидимых) |
eXeL@B —› Основной форум —› Отладка SO-библиотек Android с помощью gdb без исходников |
Посл.ответ | Сообщение |
|
Создано: 01 сентября 2016 13:25 · Поправил: AcidFlower · Личное сообщение · #1 Работаю на Genymotion, соответственно права полные (рут). Все делаю по туториалам. 1. Запускаю подопытное приложение, при этом входящая в него библиотека (lib***.so) загружается с помощью System.loadLibrary и ее функции работают. 2. Открываю adb shell, запускаю gdbserver, аттачу его к PID'у подопытного приложения. Все ОК. 3. Затем adb forward, затем gdb, в его консоли подключаюсь target remote. Все ОК. 4. Пробую команду continue - приложение перестает "висеть" под отладкой и продолжает выполняться. Все ОК. 5. Но вот, собственно, загрузить из библиотеки символы у меня не получается. А из-за этого я не могу вызвать info functions и не могу поставить брекпоинты. Я просто не могу "объяснить" gdb, что мне нужна именно такая-то библиотека, чтобы он загрузил из нее символы и я мог с ней работать. Пробовал по разным туториалам, по-разному. Например, пробовал gdb запускать так: Code:
Вроде бы все нормально, однако когда вызываю info functions, то получаю адреса не в памяти, а в самой библиотеке на компе, соответственно брекпоинты не ставятся. На Windows я это делал с помощью symbol-file remote:test.exe которую выполнял после подключения (target remote). Однако с Android такое не получается, эта команда не поддерживается. Тогда я попробовал set solib-search-path. После нее, как я понимаю, надо вызвать sharedlibrary (не путать с info sharedlibrary), иначе ничего не загрузится. 1) Правильно понимаю? 2) Не совсем понял, что собственно передавать в нее - что именно надо pull'ить, и какие пути указывать, если бряки я хочу поставить на функции библиотеки, входящей в мое приложение, а не андроидовских. Короче, прошу рассказать, как вы делаете, и желательно поподробнее. Заранее спс. И еще один вопрос: А может, дело просто в том, что я использую gdb из MinGW, вместо родного тулчайна? Просто с родным не получалось вообще, и с ndk-gdb тоже не заладилось. Может ли кто точно сказать - необходим ли именно тулчайн/ndk-gdb для отладки на Android? |
|
Создано: 01 сентября 2016 13:40 · Личное сообщение · #2 |
eXeL@B —› Основной форум —› Отладка SO-библиотек Android с помощью gdb без исходников |
Эта тема закрыта. Ответы больше не принимаются. |