Debugging 无法为libc使用调试符号

Debugging 无法为libc使用调试符号,debugging,glibc,debug-symbols,libc,ldd,Debugging,Glibc,Debug Symbols,Libc,Ldd,我希望调试libc使用的malloc和free例程。为此,我安装了以下软件包 sudo apt-get install libc6-dbg sudo apt-get install libc6:i386 sudo apt-get install libc6-dbg:i386 我在一台64位的Ubuntu 15.04机器上调试一个i386二进制文件。我看到的帖子似乎处理了类似的问题 在gdb内部,我检查了调试文件的加载位置,并得到了这个结果 (gdb) show debug-file-direc

我希望调试libc使用的malloc和free例程。为此,我安装了以下软件包

sudo apt-get install libc6-dbg
sudo apt-get install libc6:i386
sudo apt-get install libc6-dbg:i386
我在一台64位的Ubuntu 15.04机器上调试一个i386二进制文件。我看到的帖子似乎处理了类似的问题

在gdb内部,我检查了调试文件的加载位置,并得到了这个结果

(gdb) show debug-file-directory
The directory where separate debug symbols are searched for is "/usr/lib/debug".
但是,没有迹象表明正在加载调试符号。我怎样才能解决这个问题

[编辑] 我用amd64和i386二进制文件都试过了,结果是一样的。我正在调试的二进制文件本身没有安装调试符号

然而,没有迹象表明

你在寻找什么迹象

我猜你做了如下事情:

gdb ./a.out
(gdb) list malloc  # complains about "no symbols loaded"
改为这样做:

gdb ./a.out
(gdb) start
# breakpoint 1 hit
(gdb) list __libc_malloc
说明:
libc.so.6及其调试符号在程序实际启动之前不会加载(因此不可见)