c - 如何调试 printf 等标准 C 库函数?

标签 c linux debugging gdb libc

我想调试 printf 函数,因此当我进入 printf 函数(gdb 调试器)时,它向我显示了以下内容:

__printf (format=0x80484d0 " my name is Adam") at printf.c:28
28  printf.c: No such file or directory.

这是什么意思?

当我再次开始步骤时,会有更多类似的语句。

请帮助我理解这一点。

最佳答案

我认为这很清楚。 gdb 需要一个地方存放源代码,因此请下载 glibc 的源代码并将其放在那里。我认为错误消息包含完整路径。

如果它是一个 Linux 发行版,实际上相当简单,因为通常也会附带源代码包。否则,您需要自己查找源代码,请注意,它必须与用于编译 c 库组件的源代码完全相同,而不仅仅是相同的版本,因为发行商经常对源代码进行更改。

关于c - 如何调试 printf 等标准 C 库函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52994261/

相关文章:

c - 在c中打印字符串指针

c - 如何在单个 gcc 命令中将多个头文件包含和库目录添加到搜索路径?

linux - 如何使用 linux 设备模型和/sys 文件系统?

eclipse - 如何调试JDK源码

c - 在 Visual Studio Code 中调试 C 程序

c - 这是什么意思,我该如何纠正它 *** 检测到堆栈粉碎 *** : ./array1output 终止

c - 关于 'main(int argc, char *argv[])'

linux - 命令 cd 的作用是什么?意思是?

python - 连接到GCP实例的静态外部IP(VPN)时,SSHUTTLE抛出错误99

nhibernate - 如何调试 NHibernate 映射?