gpt4 book ai didi

linux - 如何获取 LLVM 调试符号

转载 作者:太空宇宙 更新时间:2023-11-04 12:57:48 24 4
gpt4 key购买 nike

我有一个使用 Clang API 的 c++ 项目,我希望在调试我的项目时能够调试到 clang/llvm 函数。

我使用带有以下选项的 CMake 构建了 llvm+clang v3.7.0:

 -DCMAKE_INSTALL_PREFIX=$HOME/opt/llvm -DCMAKE_BUILD_TYPE=Debug

但 GDB 不会进入 clang API 的函数。

我做错了什么?

最佳答案

很可能您正在做的不是在带有 -cc1 的命令行上设置断点。为了错误处理的目的,clang 立即 fork ,所以如果你在 main 上设置断点,你会看到它发生。如果您想从 clang 开始调试,那么您应该:

  • 使用调试符号构建(看起来你正在这样做)
  • 使用 -v 运行 clang 以获取各种命令行,例如

    dzur:~/tmp> ~/builds/build-llvm/bin/clang -v t.c -S

    "/usr/local/google/home/echristo/builds/build-llvm/bin/clang-3.9"-cc1 -triple x86_64-unknown-linux-gnu -S -disable-free -main-file-name t.c -mrelocation-model 静态 -mthread-model posix -mdisable-fp-elim-fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables -fuse-init-array -target-cpu x86-64 -v -dwarf-column-info -debugger-tuning=gdb -coverage-file/usr/local/google/home/echristo/tmp/t.c -resource-dir/usr/local/google/home/echristo/builds/build-llvm/bin/../lib/clang/3.9.0 -internal-isystem/usr/local/include -internal-isystem/usr/local/google/home/echristo/builds/build-llvm/bin/../lib/clang/3.9.0/include -internal-externc-isystem/usr/include/x86_64-linux-gnu -internal-externc-isystem/include -internal-externc-isystem/usr/include -fdebug-compilation-dir/usr/local/google/home/echristo/tmp -ferror-limit 19 -fmessage-length 120-fobjc-runtime=gcc-fdiagnostics-show-option-fcolor-诊断-o t.s -x c t.c

  • 在此命令行中您希望在源代码中设置断点。

关于linux - 如何获取 LLVM 调试符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35135258/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com