neovim调试linux内核过程中索引不到对应头文件问题

大家好,我叫徐锦桐,个人博客地址为www.xujintong.com,github地址为https://github.com/jintongxu。平时记录一下学习计算机过程中获取的知识,还有日常折腾的经验,欢迎大家访问。

一、环境

neovim–0.9.4
mason的clangd LSP

二、问题

当用nvim打开linux源码文件时候会出现下列的情况,找不到对应的结构定义,也索引不到对应的头文件,在对应结构按ctrl + ]也进入不了对应的结构。
neovim调试linux内核过程中索引不到对应头文件问题_第1张图片

三、解决

最后在Reddit上发了篇求助帖子,有个外国友人解决了这个问题。他给推荐了一篇文章Linux Kernel – How to setup your editor

首先编译内核

在linux源码根目录下运行下面命令,编译内核。

make menuconfig

make CC=clang

注意: 如果是在ubuntu下编译内核,需要下载下面的依赖。

sudo apt install libncurses-dev flex bison openssl libssl-dev dkms libelf-dev libudev-dev libpci-dev libiberty-dev autoconf

生成compile_commands.json文件

也是在根目录运行。

python3 ./scripts/clang-tools/gen_compile_commands.py

然后打开nvim更新完成索引就行了。

neovim调试linux内核过程中索引不到对应头文件问题_第2张图片

你可能感兴趣的:(Linux,linux,linux,kernel,Linux内核)