您可以在"用户模式Linux"体系结构中构建内核,并将其作为另一个(Linux)操作系统中的常规进程运行.(提示:RTFM,"make ARCH = um")
然后你可以在调试器下运行它,在任何地方或任何地方设置断点,它就像一个普通的用户空间任务.
我推荐这本书超过任何其他.这将解释一切如何运作并且仍然非常准确.
这些概念确实非常重要,本书将指出内核中的关键功能,以便您自己获取详细信息.简单的事情是一些系统调用,或者只是打开一些核心文件并读取函数并尝试弄清楚它们做了什么或者只是手动跟踪内容.
如果你想单步执行内核,可以使用像QEMU这样的虚拟化软件,并在调试模式下加载内核(QEMU具有远程GDB支持),你可以将内核的符号表kernel.syms(IIRC)加载到GDB中,你可以确切地看到正在执行的内容 对于内部运行的内核来说,这可能非常慢,并且实际上只对调试开发内核有用,但如果您愿意接受减速,那么就去做吧.
如上所述,最好的是阅读来源,至少我学到了这些.找到您想要查看的任何功能的关键功能,并且不难单步执行代码并查看会发生什么(使用TAGS或CSCOPE之类的东西来简化这一过程).