【发布时间】:2016-09-14 02:12:53
【问题描述】:
我已剥离和未剥离共享库。 使用 LLDB 在 Android Studio 中进行调试时如何加载符号?
我可以成功调试位于“jniLibs”文件夹中的完整未剥离的 .so。 但它太大了,部署时间也太长了。
在调试配置中指定符号目录不适用于标准和实验插件。
【问题讨论】:
标签: c++ debugging android-studio java-native-interface
我已剥离和未剥离共享库。 使用 LLDB 在 Android Studio 中进行调试时如何加载符号?
我可以成功调试位于“jniLibs”文件夹中的完整未剥离的 .so。 但它太大了,部署时间也太长了。
在调试配置中指定符号目录不适用于标准和实验插件。
【问题讨论】:
标签: c++ debugging android-studio java-native-interface
您需要使用“--build-id”标志链接您的库,以便 Android Studio 中的 LLDB 可以找到它,而不是从设备中提取它。如果您使用 NDK 工具链,只需将以下内容添加到您的链接器标志中:
'-Wl,--build-id'
您可能还需要告诉 Android Studio 在哪里寻找未剥离的库(如果您自己剥离了这些库)。你可以通过运行->编辑配置->调试器选项卡->符号目录并添加你的路径来做到这一点。
要检查哪个库是 LLDB,您可以暂停应用,然后转到 Native Debugger 选项卡 -> LLDB 控制台并输入:
image list
如果您使用 ndk-build,只需将标志添加到 Android.mk 中的 LOCAL_LDFLAGS 或仅使用 NDK r12b 或更高版本(默认情况下启用该标志)。
【讨论】: