【问题标题】:How to install debug symbols for libc++ on Ubuntu?如何在 Ubuntu 上为 libc++ 安装调试符号?
【发布时间】:2021-04-29 06:42:41
【问题描述】:

如何在 Ubuntu 20.04 LTS 上为 libc++ 安装调试符号?

现在我不得不求助于使用 -fstandalone-debug 编译所有内容。

【问题讨论】:

    标签: libc++


    【解决方案1】:

    我从昨天开始一直在寻找同样的东西,今天找到了这个 wiki 链接: https://wiki.ubuntu.com/Debug%20Symbol%20Packages

    简而言之:

    1. 为其调试符号包添加源代码
    echo "deb http://ddebs.ubuntu.com $(lsb_release -cs) main restricted universe multiverse
    deb http://ddebs.ubuntu.com $(lsb_release -cs)-updates main restricted universe multiverse
    deb http://ddebs.ubuntu.com $(lsb_release -cs)-proposed main restricted universe multiverse" | \
    sudo tee -a /etc/apt/sources.list.d/ddebs.list
    
    1. 导入上述包的签名密钥
    sudo apt install ubuntu-dbgsym-keyring
    
    1. 更新您的包列表以包含新的包
    sudo apt-get update
    
    1. 现在你可以安装*-dbgsym 包,我发现我安装了哪个libc++ 包,如下所示:
    apt list --installed | grep libc++
    
    1. 我有 libc++1-11。我检查了 -dbgsym 包是否像这样粗暴地存在:
    sudo apt search libc++ | grep -P 'libc\+\+.*dbgsym'
    
    1. 当然还安装了我需要的那个:
    sudo apt install libc++1-11-dbgsym
    

    我从这个帖子的最后评论中得到了正确解决方案的提示:https://bugs.llvm.org/show_bug.cgi?id=24202

    【讨论】:

    • 文章还提到,对于旧版本的 ubuntu,将步骤 2 替换为:sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F2EDC64DC5AEE1F6B9C621F0C8CAB6595FDFF622
    • 我在调试器中仍然看不到 std::string 预览 :(
    • 在我的情况下,我实际上需要 libstdc++ 而不是 libc++,因此您可以尝试相同的步骤,但对于 libstdc++
    猜你喜欢
    • 2021-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-12
    • 1970-01-01
    • 2014-12-10
    • 2021-08-17
    • 1970-01-01
    相关资源
    最近更新 更多