跳到主要内容

C++ 代码分析

Doris支持使用ClangdClang-Tidy进行代码静态分析。Clangd和Clang-Tidy在 LDB-toolchain 中已经内置,另外也可以自己安装或者编译。

Clang-Tidy

Clang-Tidy中可以做一些代码分析的配置,配置文件.clang-tidy在Doris根目录下。

在VSCODE中配置Clangd

首先需要安装clangd插件,然后在settings.json中编辑或者直接在首选项中更改插件配置。相比于vscode-cpptools,clangd可以为vscode提供更强大和准确的代码转跳,并且集成了clang-tidy的分析和快速修复功能。 在使用之前,先编译一次be(RELEASE)be-ut(ASAN),以生成对应的compile_commands.json文件。

    "clangd.path": "ldb_toolchain/bin/clangd", //clangd的路径
"clangd.arguments": [
"--background-index",
"--clang-tidy", //开启clang-tidy
"--compile-commands-dir=doris/be/build_Release/",
"--completion-style=detailed",
"-j=5", //clangd分析文件的并行数
"--all-scopes-completion",
"--pch-storage=memory",
"--pretty",
"--query-driver=ldb_toolchain/bin/*" //编译器路径
],
"clangd.trace": "output/clangd-server.log"