在Ubuntu上用GDB调试printf源码
Ubuntu中默认情况下库函数是不带调试信息的,所以用gdb无法进入到printf()函数里。
解决办法是:
1.安装带有调试信息的libc: sudo apt-get install libc6-dbg
2.下载libc源码
a.选定一个放置源码的目录并进入,如 /home/kent/dev-os/libc6-source
b.执行sudo apt-get source libc6, 会把源码下载到当前目录中。 最后源码目录大概是:/home/kent/dev-os/libc6-source/eglibc-2.15
3.运行gdb时指定libc源码目录:gdb `find /home/kent/dev-os/libc6-source/eglibc-2.15 -type d -printf '-d %p '` my_program
4.最后进入printf()函数即可. 我这里看到的第一行代码是
va_list arg;
相关推荐
Android开发CXY 2020-11-11
lpkwxl 2020-06-17
RealJianyuan 2020-06-14
pbyanglove 2020-06-09
徐建岗网络管理 2020-06-09
fengjing81 2020-06-06
lynjay 2020-06-02
wujingsheng0 2020-05-16
吴小伟 2020-05-09
sillion 2020-05-03
xiaobater 2020-05-01
ericasadun 2020-04-26
lynjay 2020-04-26
choupiaoyi 2020-04-26
tydldd 2020-04-23