android 搜索 so 路径,在Windows上使用不正确的斜杠Android NDK solib搜索路径

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

警告:无法为64个库加载共享库符号,例如: /系统/斌/连接器。

使用“info sharedlibrary”命令查看完整列表。

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

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

没有加载符号表。使用“文件”命令。

没有加载符号表。使用“文件”命令。

没有加载符号表。使用“文件”命令。

对于我的库中设置的每个断点,“无符号表加载...”行出现一次。问题似乎是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

如果我再更新solib搜索路径使用正斜杠,我得到这个:

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"?

warning: Unable to find dynamic linker breakpoint function.

GDB will retry eventurally. Meanwhile, it is likely

that GDB is unable to debug shared library initializers

or resolve pending breakpoints after dlopen().

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 Yes C:/Users/Username/Projects/Project/Android/obj/local/armeabi-v7a/libProject.so

之后,GDB将在本机代码中成功击中断点。在库的gdb.setup文件\ armeabi-V7A文件夹具有行:

set solib-search-path ./obj/local/armeabi-v7a

但我不知道这条道路被改变成一个绝对路径。我猜这是GDB使用带反斜杠的路径而不是正斜杠的路径,但我不确定发生了什么。我曾尝试修改创建gdb.setup文件的Android NDK构建脚本,甚至尝试过放入不同的路径,但show solib-search-path的输出结果完全相同,所以我甚至不确定GDB是什么使用该搜索路径。有没有人遇到过这个问题,或者没有人知道我从Eclipse运行时如何让GDB启动正确的搜索路径?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值