Как заставить ndk-gdb работать на Android?

Я пытаюсь заставить работать отладчик NDK, но пока безуспешно. .

Чтобы убедиться, что мои символы отладки присутствуют и действительны, я использую опции компилятора -O0 и -g и параметр ndk-build NDK_DEBUG=1.

Сценарий ndk-gdb работает без проблем и запускает GDB. Когда я выполняю команду «sharedlibrary», я получаю следующее:

Symbols already loaded for /bla/bla/libMySharedLib.so

Однако, когда я пытаюсь прервать выполнение или, например, добавляя segfault для проверки, я никогда не получаю символы из этой библиотеки в стеке вызовов. Единственные символы, которые я получил, - это из libc, если я прерываю выполнение, например, в ожидании мьютекса. Также попытался добавить точки останова, но безуспешно. GDB позволяет мне добавить точки останова, и код работает нормально, но точки останова никогда не срабатывают.

Я использую API уровня 8, так как мне нужна поддержка Android 2.2 (Froyo).

37
задан Ciro Santilli 新疆改造中心法轮功六四事件 10 November 2017 в 21:18
поделиться