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

发布时间:2024年01月01日

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

一、环境

neovim–0.9.4
mason的clangd LSP

二、问题

当用nvim打开linux源码文件时候会出现下列的情况,找不到对应的结构定义,也索引不到对应的头文件,在对应结构按ctrl + ]也进入不了对应的结构。
problems-in-reading-linux-source-code-with-neovim-v0-d5uLE8zd1Ms4YgLPSmeG7UWDsfjeq1KjRL3ZhuzSxMw

三、解决

最后在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更新完成索引就行了。

2

文章来源:https://blog.csdn.net/Roger_Spencer/article/details/135325340
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。