She*_*ikh
5
android
android-ndk
lldb
android-studio
我正在尝试在Android Studio 2.3 Canary 2 中使用本机调试;Gradle 插件是“ gradle:2.3.0-alpha2 ”。我从https://github.com/googlesamples/android-ndk 获取了“hello-libs”样本。此示例使用 CMake 作为外部本机构建系统。好的,/hello-libs/distribution/ 中有预构建的库(libgmath.a 和 libgperf.so)。库包含调试信息,它们不会被剥离。我尝试使用命令将 lldb 调试器指向我的 PC 上的源代码来本地调试这些预构建的库:
settings set target.source-map
Run Code Online (Sandbox Code Playgroud)
所以,我用
objdump -Wl
Run Code Online (Sandbox Code Playgroud)
获取用于构建这些库的源文件的路径。Objdump 给了我下一个目录:
- /Users/gfan/proj/android-mk/work-branch/hello-libs/gen-libs/src/main/cpp/gperf/src
- /Users/gfan/proj/android-mk/work-branch/hello-libs/gen-libs/src/main/cpp/gmath/src
好的,在调试配置中,我在“LLDB 启动命令”中添加了两个命令
- 设置设置 target.source-map /Users/gfan/proj/android-mk/work-branch/hello-libs/gen-libs/src/main/cpp/gperf/src e:\WORKSPACE\hello-libs\gen- libs\src\main\cpp\gperf\src\
- 设置设置 target.source-map /Users/gfan/proj/android-mk/work-branch/hello-libs/gen-libs/src/main/cpp/gmath/src e:\WORKSPACE\hello-libs\gen- libs\src\main\cpp\gmath\src\
在选项卡“符号目录”中,我设置了在以下位置搜索调试符号的路径:
- E:\WORKSPACE\hello-libs\app.externalNativeBuild\cmake\debug\armeabi-v7a\CMakeFiles\hello-libs.dir
- E:\WORKSPACE\hello-libs\app\build\intermediates\cmake\debug\obj\armeabi-v7a
- E:\WORKSPACE\hello-libs\distribution\gmath\lib\armeabi-v7a
- E:\WORKSPACE\hello-libs\distribution\gperf\lib\armeabi-v7a
我在 ndk.abiFilters 中只使用了“ armeabi-v7a ”。
Android Studio 中的所有调试配置对我来说真的不是很明显。所以,我的问题是: