齐昱博 + 原创作品转载请注明出处 + 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000
本周课程逐渐的走入了正题,首先感谢老师提供的实验代码和实验楼环境以供我们更好的学习。
老师本次课程主要是教会我们使用gdb跟踪调试内核。
首先老师提供了Linux内核代码网址:http://lxr.free-electrons.com/source/?v=3.18
实验步骤如下:
1.首先简单介绍了Linux框架,我们主要关注的有三个部分,arch是架构模块其中包含了Linux的架构代码,init其中是启动代码,kernel是内核部分,还有剩下Documentation是解释文档,fs是文件系统,lib是基础库,drivers是驱动。
2.知道了Linux基本的代码位置,我们开始实验,打开老师已经帮我们搭好环境的实验楼。输入代码:
cd LinuxKernel/
qemu -kernel linux-3.18.6/arch/x86/boot/bzImage -initrd rootfs.img -s -S
3.打开另一个终端输入gdb,使用gdb跟踪。在gdb界面中加载符号表,并建立连接和断点设置
老师演示的rest_init也是同理。