我试图找出 errno 何时更改。
一开始我在gdb中尝试了“watch errno”,导致报错
Cannot find thread-local variables on this target
我能够通过编译“-pthread”来解决这个问题。但是,它仍然不起作用,我现在收到错误
Cannot find shared library `/usr/lib/debug/lib/x86_64-linux-gnu/libc-2.13.so' in dynamic linker's load module list
当我输入“watch errno”时。我需要做什么才能在 errno 上设置观察点?
最佳答案
errno
不再只是一个静态变量。以下是 Linux 上用户级应用程序的显示方式(来自我的本地 /usr/include/x86_64-linux-gnu/bits/errno.h
):
# define errno (*__errno_location ())
这是为了获取每个线程的错误状态。
关于debugging - 在 gdb 中的 errno 上设置观察点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10657936/