调试Clang

使用VS code调试Clang

VS code是一款非常好用的开发工具,是远程开发的必备利器。Clang虽是编译器,但对于程序员来说也是一个app,所以自然也可以使用gdb来调试。为了更好的学习Clang的代码,推荐使用VS code + gdb的方式直接debug Clang的代码,结合文档说明做到深入学习理解。

编译Clang

可以参考LLVM官网使用CMake命令编译,由于要debug,所以必须编译Debug版本的Clang。可参考使用下列编译命令:

cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE="Debug" -DBUILD_SHARED_LIBS=True -DLLVM_USE_SPLIT_DWARF=True -DCMAKE_INSTALL_PREFIX="/home/user/prefix-test" -DLLVM_OPTIMIZED_TABLEGEN=True -DLLVM_BUILD_TESTS=True -DLLVM_TARGETS_TO_BUILD="X86" -DLLVM_ENABLE_PROJECTS="clang;llvm;compiler-rt" -DLLVM_ENABLE_ASSERTIONS=On ../llvm

配置VS code

VS code需要预先安装C++的插件,然后点击“RUN”---->“Open Configrations”,仅需要配置“program”和“args”两项即可

    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) Launch",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/out/stage2-install/bin/clang++",//配置Clang编译结果路径
            "args": ["--target=riscv64 -o ${workspaceFolder}/test_c++.cpp.o -c++ ${workspaceFolder}/test_c++.cpp"], //Clang参数
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",

调试

完成以上步骤,就可以F5直接调试了!
运行前先在Clang的main函数打个断点,位置在
llvm-project/clang/tools/driver/driver.cpp
调试界面

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值