LLDB 3.9.0崩溃(克里昂)

时间:2017-04-10 23:04:22

标签: c++11 lldb clion llvm-clang

here是C ++(CLion)项目的链接。我已经尽可能多地提炼/简化了这个问题。

问题是在调试时,LLDB(版本3.9.0)崩溃了。

重现崩溃的步骤:

  1. 使用CLion 2017.1打开项目(使用内置的LLDB进行调试)
  2. 编译项​​目
  3. 在main.cpp第14行放置断点
  4. 以调试模式运行。
  5. 一旦进入第14行断点,则通过“print an_integer”命令输出变量“an_integer”。
  6. 崩溃
  7. 错误/崩溃报告:

      

    断言失败:(D-> getCachedLinkage()== LV.getLinkage()),函数   getLVForDecl,file   /Applications/buildAgent/work/92515a49514b3993/lldb/llvm/tools/clang/lib/AST/Decl.cpp,   1360行。

    请注意,在Mac v10.12.4上使用LLDB v3.9.0会发生此崩溃。但是在Mac 10.12.4上LLDB 3.7.0不会出现这种情况。

    最终,我想知道我的项目代码中是否有些愚蠢?如果没有,这是CLion或LLDB的错误吗?有什么地方我应该发布这个来帮助解决这个问题(如果是的话)解决了吗?

2 个答案:

答案 0 :(得分:1)

这看起来不像你的错误。由于某种原因,lldb无法摄取编译器生成的类型信息。

我没有clion因此我无法尝试,但如果我只是使用PCH或不使用PCH构建您的测试项目,使用Xcode 8.3中的clang我看不到这种崩溃。最好的办法是使用CLion构建这个项目,然后创建一个dSYM(如果CLion不为你做这个。)你可以通过运行来实现:

 > dsymutil TestingLLDBBreaking

检查是否可以使用dSYM重现崩溃,如果是,则使用可执行文件和.dSYM提交http://bugreporter.apple.com的错误。

答案 1 :(得分:1)

所以我有一段时间遇到同样的问题。 就在几乎格式化我的mac之前,我已经将项目重新克隆到另一个目录并从那里运行它。没有问题。 (我确定它是一个mac-os的东西)。 祝你好运:)