使用最新的Android Studio工具时,如何让lldb看到预建的本机库符号?
我正在使用Android Studio 2.2.2开发Android应用。我的应用程序有一个本机组件,还依赖于我的本机组件链接到的预构建的本机库。当我使用调试器分解一些本机代码时,调试器具有我的本机代码的符号,但不是我使用符号构建的预构建库。我在调试预构建的本机库(https://developer.android.com/ndk/guides/prebuilts.html#dp)时发现的文档似乎已经过时,因为它引用了Android.mk和ndk-gdb,而不是build.gradle,CMakeLists.txt和lldb,这就是我正在使用的。
对于熟悉lldb的人来说,这里有更多的信息(这并不是说我熟悉它)。我认为它反映了这样一个事实:调试器正在查看我的本机代码的非符号剥离版本,在libnative-lib.so中,它存储在我的机器上,但是正在查看预构建的符号剥离版本库,libaws-cpp-sdk-vitalservices.so,存储在android设备上:
(lldb) image list
...
[107] B8FC838B-0000-0000-0000-000000000000 /Users/christophersimmons/.lldb/module_cache/remote-android/.cache/B8FC838B-0000-0000-0000-000000000000/libaws-cpp-sdk-vitalservices.so
[108] A7AD2397-02E5-5AE9-0192-F2353B51C362-C40832C9 /Users/christophersimmons/Documents/repos/DoclilyAndroid/app/build/intermediates/cmake/debug/obj/x86/libnative-lib.so
答案 0 :(得分:1)
您的可执行文件有多大?
似乎Android Studio的lldb客户端是一个32b的应用程序,所以它无法处理大的文件!
https://issuetracker.google.com/issues/37324018
好像很快就会修好!