here是C ++(CLion)项目的链接。我已经尽可能多地提炼/简化了这个问题。
问题是在调试时,LLDB(版本3.9.0)崩溃了。
重现崩溃的步骤:
错误/崩溃报告:
断言失败:(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的错误吗?有什么地方我应该发布这个来帮助解决这个问题(如果是的话)解决了吗?
答案 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的东西)。 祝你好运:)