linux 中使用emacs+cscope 阅读内核源码

1. 先决条件是 emacs 已经安装完成

2. 安装cscope

$ sudo apt-get install cscope

3. 在emacs 配置文件 .emacs 中添加 cscope支持

(require ‘xcscope)

4. 生成内核源码的索引文件

在内核源码的顶层目录下执行下面的命令生成索引文件:

:~/workspace/a9-src/linux-3.0.35$ cscope-indexer -r

其中的 -r 选项代表递归扫面各个子目录。该命令执行完后会在当前目录下生成 cscope-files 和 cscope.out 两个文件,

其中包含着项目中的文件名、变量函数名等信息,供检索时使用。

5. 使用方法-快捷键

进行完上述步骤后,在浏览代码时就可以直接用快捷键进行查找等操作了。xcscope 的快捷键都是绑定到 C-c s 前缀上的,

主要快捷键如下:

C-c s s         Find symbol.
C-c s d         Find global definition.
C-c s g         Find global definition (alternate binding).
C-c s G         Find global definition without prompting.
C-c s c         Find functions calling a function.
C-c s C         Find called functions.
C-c s t         Find text string.
C-c s e         Find egrep pattern.
C-c s f         Find a file.
C-c s i         Find files #including a file.

6. 示例,查询task_struct 全局定义

时间: 2024-08-27 18:19:51

linux 中使用emacs+cscope 阅读内核源码的相关文章

在linux中如何查看常用命令的源码

Linux中有很多很棒的工具,我们可以在平常的使用中,可以采用查看源码的方式来学习它.以下就以uptime为例来说一说吧. 1.首先,我们要查询一下uptime是由哪个package提供的 #rpm -qf $(which uptime) procps-3.2.8-33.0.1.el6.x86_64 2.接着,我们要来下载带源码的rpm包了,在确保你的OS能连接外网并配置好yum源后,就可以用下面的命令来完成了. yumdownloader --source procps 3.解压 rpm -i

vim配置(二):使用ctags阅读内核源码

1. 安装ctags [email protected]:~# apt-get install ctags 2. 设置内核目录的ctags [email protected]:/study/linux-git/linux-git/linux-3.18.3# ls arch     Documentation  include  kernel       net             security block    drivers        init     lib          R

Linux内核源码分析方法

  一.内核源码之我见 Linux内核代码的庞大令不少人“望而生畏”,也正因为如此,使得人们对Linux的了解仅处于泛泛的层次.如果想透析Linux,深入操作系统的本质,阅读内核源码是最有效的途径.我们都知道,想成为优秀的程序员,需要大量的实践和代码的编写.编程固然重要,但是往往只编程的人很容易把自己局限在自己的知识领域内.如果要扩展自己知识的广度,我们需要多接触其他人编写的代码,尤其是水平比我们更高的人编写的代码.通过这种途径,我们可以跳出自己知识圈的束缚,进入他人的知识圈,了解更多甚至我们一

转载 :Linux有问必答:如何在Debian或Ubuntu上安装完整的内核源码

http://linux.cn/article-5015-1.html 问题:我需要为我的Debian或Ubuntu下载并安装完整树结构的内核源码以供编译一个定制的内核.那么在Debian或Ubuntu上有什么可行的方法来下载完整的内核源码呢? 在给你的Linux安装完整内核源码之前,先问问自己是否真的需要这样做.如果你仅仅是尝试去编译一个内核模块或是为内核定制驱动,你并不需要完整的内核源码树.你只需要安装一些与内核对应的头文件,这样就足够了. 只有在你需要生成一个定制的内核,而且内核源码中的一

ubuntu下linux内核源码阅读工具和调试方法总结

http://blog.chinaunix.net/uid-20940095-id-66148.html 一 linux内核源码阅读工具 windows下当然首选source insight, 但是linux下就没有source insight这么优秀的工具了,但是也有不少的替代品,但觉绝对部分人会选择vim+ctags+cscope的组合,还有部分人或选择wine中的source insight或选择navigatror,当然对于代码阅读来说vim+ctags+cscope的组合还是比较好的一

linux内核源码级调试

一 linux内核源码阅读工具 windows下当然首选source insight, 但是linux下就没有source insight这么优秀的工具了,但是也有不少的替代品,但觉绝对部分人会选择vim+ctags+cscope的组合,还有部分人或选择wine中的source insight或选择navigatror,当然对于代码阅读来说vim+ctags+cscope的组合还是比较好的一个选择方案,但是,当我使用了eclipse之后,个人感觉用eclipse作为linux环境下源码阅读工具确

linux内核源码注解

轻松学习Linux操作系统内核源码的方法 针对好多Linux 爱好者对内核很有兴趣却无从下口,本文旨在介绍一种解读linux内核源码的入门方法,而不是解说linux复杂的内核机制:一.核心源程序的文件组织:1.Linux核心源程序通常都安装在/usr/src/linux下,而且它有一个非常简单的编号约定:任何偶数的核心(例如2.0.30)都是一个稳定地发行的核心,而任何奇数的核心(例如2.1.42)都是一个开发中的核心. 本文基于稳定的2.2.5源代码,第二部分的实现平台为 RedHat Lin

Linux内核源码目录说明

Linux内核源代码位于/usr/src/linux目录下,其结构分布如图1.3所示,每一个目录或子目录可以看作一个模块,其目录之间的连线表示“子目录或子模块”的关系.下面是对每一个目录的简单描述. Arch 目录包括了所有和体系结构相关的核心代码.它下面的每一个子目录都代表一种Linux支持的体系结构,例如X86就是Intel CPU及与之相兼容体系结构的子目录.Arch目录下的子目录包括:/arch/kernel./arch/mm./arch/include./arch/boot./arch

轻松学习linux内核源码的方法

轻松学习Linux操作系统内核源码的方法 针对好多Linux 爱好者对内核很有兴趣却无从下口,本文旨在介绍一种解读linux内核源码的入门方法,而不是解说linux复杂的内核机制:一.核心源程序的文件组织:1.Linux核心源程序通常都安装在/usr/src/linux下,而且它有一个非常简单的编号约定:任何偶数的核心(例如2.0.30)都是一个稳定地发行的核心,而任何奇数的核心(例如2.1.42)都是一个开发中的核心. 本文基于稳定的2.2.5源代码,第二部分的实现平台为 RedHat Lin