首页 > 解决方案 > LLVM:如何使用 Compiler-RT 的调试符号进行编译

问题描述

我正在为 LLVM 编写 Compiler-RT 拦截器模块,并且遇到了运行时错误。如果我在调用 clang 时打开调试符号,我会得到正在编译的程序 clang 的符号。如何获取 Compiler-RT 代码的调试符号?我怎么知道错误的拦截器代码来自哪里?

我已经尝试在调试模式下构建 llvm、compiler-rt、clang 等。这不会将符号添加到已编译的程序中。

这是我目前使用的构建配置命令: cmake -G Ninja -DLLVM_USE_LINKER=gold -DLLVM_TARGETS_TO_BUILD=X86 -DLLVM_BUILD_DOCS=OFF -DLLVM_OPTIMIZED_TABLEGEN=ON -DLLVM_BUILD_TESTS=OFF -DLLVM_ENABLE_ASSERTIONS=ON -DCMAKE_BUILD_TYPE=Debug -DCOMPILER_RT_DEBUG=ON -DCMAKE_INSTALL_PREFIX=/../llvm_install

标签: llvmllvm-irllvm-c++-api

解决方案


推荐阅读