Linux Kernel-源码阅读环境搭建

yyi
yyi
2023-08-04 / 0 评论 / 128 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2023年08月08日,已超过276天没有更新,若内容或图片失效,请留言反馈。

Linux源码阅读环境

这里主要使用Vscode+Clangd的方式。使用我们之前的docker启动一个环境

docker run -it --name src_reading --privileged=true -p2233:22 yirannn/modular-zswap-env bash

先处理docker端

  1. 提示环境

    1. 安装clangd,由于clangd和编译过程联系紧密,所以我们选择不在windows上而直接在remote上放代码。
    2. 安装bear,它辅助我们创建Compilation Database, 它会记录每个c文件的依赖和编译选项
    apt-get install clangd bear
  2. 编译

    在对应的目录下,运行

    make clean
    bear -- make

    即可通过一次编译生成Compilation Database

Untitled 1.png

再处理前端

安装一个Vscode-Docker插件(Container-dev亦可)

Untitled 2.png

attach一个vscode上去

Untitled 3.png

在远程安装一个clangd后端

Untitled 4.png

这之后打开文件,clangd 就会提供补全、引用相关的功能了。

FAQ

在我给 ARM 机器安装 clangd 环境的时候,出现了 Clangd Request Error : Invalid AST 的问题

需要在项目根目录下创建.clangd配置文件,在 CompileFlags 下添加一行 Remove,参见

https://github.com/clangd/clangd/issues/1582

CompileFlags:
  Remove: [-march=*, -mabi=*]
0

评论 (0)

取消