最近开始看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内核中的变量。
博主在看Open vSwitch源代码时,发现很多函数无法跳转,如'free_percpu'函数、'-ENODEV'变量,它们是Linux内核里的定义。为解决此问题,博主下载了Linux 4.4版本内核,将其include位置添加到编辑器配置中,之后可实现相关变量的跳转。
449

被折叠的 条评论
为什么被折叠?



