clang 3.1 在 Ubuntu 12.04 上构建的二进制文件无法使用 gdb 进行调试

Posted

技术标签:

【中文标题】clang 3.1 在 Ubuntu 12.04 上构建的二进制文件无法使用 gdb 进行调试【英文标题】:clang 3.1 built binary on Ubuntu 12.04 cannot debug with gdb 【发布时间】:2012-09-04 11:33:58 【问题描述】:

ubuntu 12.04.1 尝试使用原始源 clang+llvm 3.0,效果很好。为clang++添加-g选项后,我可以使用gdb来调试带有符号+源的文件。

但是如果我构建 clang+llvm 3.1 并使用预构建的二进制文件 http://llvm.org/releases/3.1/clang+llvm-3.1-x86_64-linux-ubuntu_12.04.tar.gz

clang++ -g 编译相同的示例源代码然后使用gdb进行调试, 我无法列出源,也无法步进源,“next”命令将完成主函数的执行。

有什么线索吗?

【问题讨论】:

【参考方案1】:

这是一个在trunk中仍未解决的已知错误。

http://llvm.org/bugs/show_bug.cgi?id=13211

作为一种解决方法,您可以尝试以源文件名和行号的形式设置断点,而不是函数名。

$(gdb) 中断 main.cpp:5

【讨论】:

以上是关于clang 3.1 在 Ubuntu 12.04 上构建的二进制文件无法使用 gdb 进行调试的主要内容,如果未能解决你的问题,请参考以下文章

Ubuntu12.04使用

我在 ubuntu 12.04 中的 postgresql *.conf 文件在哪里?

在 ubuntu 12.04 上安装 phpmyadmin 时出错

Ubuntu12.04下配置Eclipse+PyDev

无法在 ubuntu 12.04 上安装 rvm

ubuntu 12.04 上 phpmyadmin 的 403 错误