如何使用eclipse调试clang

如何使用eclipse调试clang,eclipse,compiler-construction,llvm,clang,abstract-syntax-tree,Eclipse,Compiler Construction,Llvm,Clang,Abstract Syntax Tree,我正在尝试使用eclipse调试clang。我在预处理器的构造函数的clang/lib/lex/preprocessor.cpp中设置了一个断点 我在调试配置中设置了一个“test.c”文件作为参数 转到运行->调试为->本地C/C++应用程序 它要求“选择要调试的本地应用程序”。我选择了“叮当”并点击OK 它开始构建代码。构建完成 在调试窗口的main()处停止。(没有可用于main()的源) 经过一些步骤后,它会显示“终止:gdb调试器(Exited.Exit code=255)” 我没有被

我正在尝试使用eclipse调试clang。我在预处理器的构造函数的clang/lib/lex/preprocessor.cpp中设置了一个断点

  • 我在调试配置中设置了一个“test.c”文件作为参数
  • 转到运行->调试为->本地C/C++应用程序
  • 它要求“选择要调试的本地应用程序”。我选择了“叮当”并点击OK
  • 它开始构建代码。构建完成
  • 在调试窗口的main()处停止。(没有可用于main()的源)
  • 经过一些步骤后,它会显示“终止:gdb调试器(Exited.Exit code=255)”

  • 我没有被带到叮当声代码(预处理器代码)。有人能告诉我如何调试这个叮当的代码吗。?我想看到代码流在叮当作响。以及clang是如何构造AST的。

    clang二进制文件实际上包含两个应用程序:驱动程序和编译器前端本身。后者通过-cc1 cmdline选项执行。因此,只需将-v添加到clang命令行以查看工具调用的实际顺序,获取前端cmdline(包含-cc1的cmdline)并使用此cmdline进行调试。

    也有同样的问题-在构建二进制文件时缺少-g标志(启用调试信息)。 运行cmake时,请使用cmake_BUILD_TYPE选项运行它:

    cmake -G "Eclipse <CDT_Version> - Unix Makefiles" -D_ECLIPSE_VERSION=<eclipse_version> -DCMAKE_BUILD_TYPE=Debug  <llvm_source_path>
    

    希望这能有所帮助。

    我没有尝试使用clang调试代码。我想调试clang的代码。在eclipse中将LLVM源代码作为“Makefile项目”打开并调试它。
    cmake -G "Eclipse CDT4 - Unix Makefiles" -D_ECLIPSE_VERSION=4.4 -DCMAKE_BUILD_TYPE=Debug  ../llvm/