首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >clang tutorials关于“丢失文件”的分段错误

clang tutorials关于“丢失文件”的分段错误
EN

Stack Overflow用户
提问于 2016-02-22 07:47:23
回答 2查看 69关注 0票数 1

我一直在尝试运行一些像this one这样的clang教程,并且不断地得到我用GDB跟踪的片段错误:

代码语言:javascript
复制
Starting program: /analyser/a.out PrintFunctions.cpp
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".

Program received signal SIGSEGV, Segmentation fault.
clang::Builtin::Context::InitializeTarget (this=0x6d1fe8, Target=...) at /opt/llvm/src/llvm/tools/clang/lib/Basic/Builtins.cpp:46
46      /opt/llvm/src/llvm/tools/clang/lib/Basic/Builtins.cpp: No such file or directory.
(gdb) bt
#0  clang::Builtin::Context::InitializeTarget (this=0x6d1fe8, Target=...) at /opt/llvm/src/llvm/tools/clang/lib/Basic/Builtins.cpp:46
#1  0x00007fffedff47ba in clang::Preprocessor::Initialize (this=0x6d1d90, Target=...) at /opt/llvm/src/llvm/tools/clang/lib/Lex/Preprocessor.cpp:181
#2  0x00007ffff0efca72 in clang::CompilerInstance::createPreprocessor (this=0x7fffffffe5d8, TUKind=<optimized out>)
    at /opt/llvm/src/llvm/tools/clang/lib/Frontend/CompilerInstance.cpp:306
#3  0x0000000000402bcd in main (argc=2, argv=0x0) at PrintFunctions.cpp:86
(gdb) quit

知道是怎么回事吗?

EN

回答 2

Stack Overflow用户

发布于 2016-02-22 08:26:23

步骤1.使用以下命令重新构建llvm & clang:

代码语言:javascript
复制
 cmake ... -DLLVM_ENABLE_ASSERTIONS=1

代码语言:javascript
复制
 cmake ... -DCMAKE_BUILD_TYPE=Debug

后者将允许你实际进入clang和llvm中的函数,但前者至少会在你跳过初始化或传递错误参数等时给你一些公平的警告,而不是在实际使用时在某个神秘的地方崩溃(这通常比断言晚得多)

步骤2.确定目标信息。在过去的几年中,这段代码已经更改了几次,因此您需要查找执行此操作的地方。例如,查看llvm/tools/llc/llc.cpp中的代码是一个很好的起点。由于这在几乎每个版本中都是不同的,我不会挖掘出2-3年前的代码来确切地指出您需要做什么,但您确实需要初始化一些目标,否则您的编译将不会成功。如果启用断言,很可能会在合适的位置得到断言。

票数 0
EN

Stack Overflow用户

发布于 2016-02-22 09:28:03

调试器报告它找不到包含clang::Builtin::Context::InitializeTarget的源文件,这就是您的程序崩溃的地方。虽然这可能是代码被破坏,但这是极不可能的。向调试器请求回溯,这应该会让您知道导致最终崩溃的错误参数来自何处。

它不会在“丢失的文件”上出现段错误。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35543648

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档