我正在尝试使用eclipse调试clang。我在预处理器的构造函数中在clang / lib / lex / preprocessor.cpp中设置了一个断点。
我没有接受clang代码(预处理器代码)。有人可以告诉我如何调试clang代码。我想看看clang中的代码流。以及clang如何构建AST。
答案 0 :(得分:2)
Clang二进制实际上包含两个应用程序:驱动程序和编译器前端本身。后者通过-cc1 cmdline选项执行。因此,只需将-v添加到clang命令行以查看工具调用的实际顺序,抓住前端cmdline(包含-cc1的那个)并使用此cmdline进行调试。
答案 1 :(得分:0)
出现同样的问题 - 在构建二进制文件时,缺少-g标志(启用调试信息)。 运行cmake时,使用CMAKE_BUILD_TYPE选项运行它:
cmake -G "Eclipse <CDT_Version> - Unix Makefiles" -D_ECLIPSE_VERSION=<eclipse_version> -DCMAKE_BUILD_TYPE=Debug <llvm_source_path>
示例:
cmake -G "Eclipse CDT4 - Unix Makefiles" -D_ECLIPSE_VERSION=4.4 -DCMAKE_BUILD_TYPE=Debug ../llvm/
希望这会有所帮助。