我想调试 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/