【问题标题】:Debugging symbols installation调试符号安装
【发布时间】:2017-11-05 05:38:09
【问题描述】:

我正在尝试将调试符号下载到 Debian OS,我做了一些研究并看到了这个网站:https://wiki.debian.org/HowToGetABacktrace,但我不知道要下载它的包的名称。请帮帮我。

【问题讨论】:

    标签: debugging gdb debian


    【解决方案1】:

    这取决于您要调试的应用程序。假设你要调试/bin/ls

    首先你需要知道是什么包提供了这个文件:

    $ dpkg -S /bin/ls
    coreutils: /bin/ls
    

    包名是coreutils。接下来,您需要按照https://wiki.debian.org/HowToGetABacktrace#Installing_the_debugging_symbols 中的说明为此软件包安装调试符号。它应该是 coreutils-dbgsymcoreutils-dbg 包。所以安装调试符号包的命令将是以下之一:

     # apt-get install coreutils-dbgsym
    

     # apt-get install coreutils-dbg
    

    【讨论】:

    • 我在调试时遇到了这个问题:stackoverflow.com/questions/47119328/…。然后我做了一些研究,我看到了这篇文章:stackoverflow.com/questions/15306090/…,它告诉你安装调试符号,但我仍然不知道我应该下载什么包,因为我也不知道我正在调试什么应用程序(对不起,因为我是 Kali linux 和 Debian 操作系统的新手)。
    • 我明白了。实际上,您正在调试 strcpy,它是 libc.so 的一部分。 libc.so 是一个共享库,默认链接到每个应用程序。所以需要为 libc.so 安装调试符号:sudo apt-get install libc6-dbg.
    • 所以我按照你说的做了并检查了它。它表明 libc6 已分离,这就是为什么我仍然遇到 strcpy() 的问题。root@19:~# apt-cache search libc6 | grep dbg libc6-dbg - GNU C Library: detached debugging symbols libc6-i386-dbgsym - Debug symbols for libc6-i386 libc6-x32-dbgsym - Debug symbols for libc6-x32
    • 顺便说一句,我使用的是 64 位操作系统。
    猜你喜欢
    • 2021-08-17
    • 2021-04-29
    • 1970-01-01
    • 2021-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-03
    相关资源
    最近更新 更多