【问题标题】:Unable to use debug symbols for libc无法为 libc 使用调试符号
【发布时间】:2015-11-12 09:36:36
【问题描述】:

我正在寻找调试 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 二进制文件都试过了,结果是一样的。我自己调试的二进制文件中没有安装调试符号。

【问题讨论】:

    标签: debugging glibc debug-symbols libc ldd


    【解决方案1】:

    但是,没有任何迹象……

    您在寻找什么迹象?

    我猜你做了类似的事情:

    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 及其调试符号在程序实际启动之前不会加载(因此不可见)。

    【讨论】:

      猜你喜欢
      • 2021-04-29
      • 1970-01-01
      • 1970-01-01
      • 2014-11-14
      • 1970-01-01
      • 2019-12-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多