小编And*_*itt的帖子

Windows上的Android NDK solib-search-path使用不正确的斜杠

我正在尝试使用Eclipse(Kepler)在Windows上调试NDK项目,但GDB将找不到.so文件的符号,因为搜索路径中的斜杠方向不正确.使用NDK r9和SDK 22.2.1,当我尝试运行应用程序时,GDB显示:

警告:无法加载64个库的共享库符号,例如/ system/bin/linker.

使用"info sharedlibrary"命令查看完整列表.

你需要"set solib-search-path"或"set sysroot"吗?警告:无法找到动态链接器断点功能.

GDB将重新进行重试.同时,在dlopen()之后,GDB很可能无法调试共享库初始化程序或解决挂起的断点.

没有加载符号表.使用"file"命令.

没有加载符号表.使用"file"命令.

没有加载符号表.使用"file"命令.

对于我的库中设置的每个断点,"无符号表已加载..."行显示一次.问题似乎是GDB没有找到未经剥离的.so文件,因为搜索路径包含反斜杠而不是正斜杠.如果我暂停程序并执行以下GDB命令,这是我得到的输出:

show solib-search-path

The search path for loading non-absolute shared library symbol files is C:\\Users\\Username\\Projects\\Project\\Android/obj/local/armeabi-v7a/.

info shared

From        To          Syms Read   Shared Object Library
0x4003fff0  0x4006db40  Yes         C:/Users/Username/Projects/Project/Android/obj/local/armeabi-v7a/libc.so
0x5bda8598  0x5bf5aa50  No          C:/Users/Username/Projects/Project/Android/obj/local/armeabi-v7a/libProject.so
Run Code Online (Sandbox Code Playgroud)

如果我然后更新solib-search-path以使用正斜杠,我得到:

set solib-search-path C:/Users/Username/Projects/Project/Android/obj/local/armeabi-v7a/
warning: Could not load shared library symbols for 74 libraries, e.g. /system/bin/linker.
Use the "info sharedlibrary" command to see the complete listing.
Do you need "set solib-search-path" or "set sysroot"? …
Run Code Online (Sandbox Code Playgroud)

eclipse gdb android-ndk

6
推荐指数
1
解决办法
2467
查看次数

标签 统计

android-ndk ×1

eclipse ×1

gdb ×1