从OVS源码如何跳转到引用了linux内核函数的定义
最近开始看Open vSwitch(OVS)的源代码,用编辑器新建好工程并且rebuild,发现还是有很多函数无法跳转。例如:"free_percpu"这个函数,"-ENODEV"这个变量,搜索后发现它们都是linux内核里面的定义,不能跳转过去看下具体啥作用还是挺不习惯,一个个搜又很费劲,想要把这个问题给解决了。
首先去https://mirrors.edge.kernel.org/pub/下载了linux内核,我用的比较多的是Ubuntu16.04,所以下载了linux 4.4的版本,解压后,把linux源码的include所在的位置添加到编辑器的配置中,添加的方式其实和添加VS的include目录是一样的。以我用的souce insight为例,添加的方式为"Options->Sysbol Lookups->Import Symbols in Current Project...",设置完如下图所示:
同样,从上图的下框可以看到,添加完include目录以后,已经可以在下面的导航框里看到关于刚刚提到的"-ENODEV"的定义,跳转过去可以发现,这个变量确实是定义在linux内核中的变量。