centos中默认情况下库函数是不带调试信息的,所以用gdb无法进入到printf()函数里。
解决办法是:
1.为libc安装调试信息
a. 先要安装一个命令:sudo yum install /usr/bin/debuginfo-install
b. 设置一下repos: vi /etc/yum.repos.d/CentOS-Debuginfo.repo, 把enabled设置为1
c. 为标准库安装调试信息: sudo debuginfo-install glibc
2.再来一次gdb并进入printf()函数即可. 我这里看到的第一行代码是
_IO_size_t len = strlen (str);