Android - 使用lldb

时间:2016-12-01 02:51:08

标签: android-studio android-ndk lldb

使用最新的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 

1 个答案:

答案 0 :(得分:1)

您的可执行文件有多大?

似乎Android Studio的lldb客户端是一个32b的应用程序,所以它无法处理大的文件!

https://issuetracker.google.com/issues/37324018

好像很快就会修好!