无法为libc

时间:2015-08-19 07:49:31

标签: 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二进制文件。我看到帖子here似乎处理了类似的问题。

在gdb内部,我检查加载调试文件的位置并获取此信息。

(gdb) show debug-file-directory
The directory where separate debug symbols are searched for is "/usr/lib/debug".

但是,没有迹象表明正在加载调试符号。我怎么能解决这个问题?

[编辑] 我用amd64和i386二进制文件尝试了这个,结果是一样的。我自己调试的二进制文件中没有安装调试符号。

1 个答案:

答案 0 :(得分:0)

  

然而,没有任何迹象......

您在寻找什么指示?

我猜你做了类似的事情:

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及其调试符号未加载(因此不可见)。