gpt4 book ai didi

linux - 无法在 gdb 中加载共享库

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:52:12 26 4
gpt4 key购买 nike

我正在尝试在 gdb 中运行应用程序,但我似乎遇到了调试器问题。我无法以我尝试过的所有方式加载共享库。

库存储在/usr/local/lib64 环境没问题:

echo $LD_LIBRARY_PATH
/usr/local/lib64:/home/user/lib

当我在 gdb 中运行应用程序时,会发生以下情况:

(gdb) set solib-search-path /usr/local/lib64
(gdb) show solib-search-path The search path for loading non-absolute
shared library symbol files is /usr/local/lib64.
(gdb) info sharedlibrary No shared libraries loaded at this time.

而且我无法设置任何断点来调试我的应用程序,但同时应用程序在 gdb 中运行正常并且调试符号正在从二进制文件中读取!

我想,这个问题与权限有关,但不知道它到底在哪里。

为避免任何误解,我应该注意到我的应用程序运行良好,并且在访问共享库方面没有任何问题。

最佳答案

When I run appllication in gbd, the following happens:

您实际上还没有运行应用程序,因此“此时没有加载共享库”是正确的并且是预期的

您需要实际执行 GDB run 命令。

更新:

I can execute run command and that's a strange thing.

不,这不是什么奇怪的事情。您没有问题,一切都按预期工作。

我猜你的真正的问题是你不能在你的应用程序使用的共享库中设置断点。 那个问题的解决方案是这样做:

gdb /path/to/app
(gdb) start

# Application stops at main.
# You can now set any breakpoint you want.
(gdb) break foo.c:123

关于linux - 无法在 gdb 中加载共享库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28352379/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com