Как мне создать Libgdx.so из источника для Android с включенной трассировкой gdb?

Я установил отладочное ПЗУ на Android-устройство и включил собственную кучу DDMS в поисках утечки памяти libgdx.

У меня теперь есть след, но нет исходного кода, чтобы следовать примеру.

Я загрузил исходный код libgdx.

Как его создать, позволяя трассировку gdb, чтобы я мог следить за кодом, на который ссылается трассировка?

Обновить:

Я построил debug .so libgdx из источника. Для этого я изменил файл: libgdx / gdx / jni / build-android32.xml

Добавляя к цели компиляции-туземных я также добавил APP_OPTIM: = debug для Application.mk в той же папке И добавил '-g' в файл Android.mk в той же папке: LOCAL_CFLAGS: = -g $ (LOCAL_C_INCLUDES:% = -I%) -O2 -Wall -D__ANDROID__

Это, действительно, создает место динамической библиотеки dbg libgdx.so в libgdx / gdx / libs / armeabi

Хотя я приближаюсь, я все еще не могу получить имя функции, загружающей память.

Я использую arm-linux-androideabi-addr2line и Hex-адрес функции, но он печатает ??

Загрузите источник Android и создайте его.

Укажите DDMS в библиотеки с отладочными символами. В командной строке:

Экспорт ANDROID_SYMBOLS = $ ANDROID_SOURCE / out / target / product / flo / symbols / system / lib

Обратите внимание, что $ ANDROID_SOURCE относится к местоположению, в котором вы создали источник Android.

Запустить DDMS из этой оболочки

$ DDMS

Теперь вы должны увидеть собственные следы на ddms.

Я также создал libgdx из исходного кода и добавил $ LIBGDX_SOURCE / libgdx / gdx / obj / local / armeabi / libgdx.so в $ ANDROID_SOURCE / out / target / product / flo / символы / system / lib, чтобы увидеть имена методов для libgdx.so ,

прелиминарии

Необходимо настроить устройство на отладочную память

adb root adb shell setprop libc.debug.malloc 1 adb shell stop adb shell start 

Устройство должно быть укоренено или с dbg ROM.