手把手教你利用VS Code+Qemu+GDB调试Linux内核

2020-07-08 00:00:00 编译 配置 内核 安装 调试

背景

一直以来,都对linux系统的理解都是在应用层面,看过了《UNIX环境编程》,对于系统中的一些模块的实现方法还缺乏深刻的认识,故想研究下Linux内核机制。

单纯阅读源码还是不如一步一步调试内核理解深刻,对于调试内核的方法,网上也有不少,主要是利用Qemu+GDB对内核进行调试,但网上的资料大多零散,步骤记录不够详细,笔者在实现过程中走了很多弯路,而且直接利用GDB调试查看代码还不甚方便,所以这里使用VS Code+Qemu+GDB来进行Linux内核调试,记录过程中的主要步骤。

环境

由于个人主机是MacOS 10.14.5,所以在Parrales Desktop虚拟机使用Ubuntu 14.04 amd64搭建内核调试环境。

若主机本身就是Linux系统,则无需安装虚拟机,可直接进行内核调试环境的搭建,性能更佳。

主要步骤

概述

  1. 虚拟机(Parrales Desktop,vmware等均可)中安装Ubuntu(如果主机本身就是Linux系统,本步骤可略)
  2. 下载linux kernel,编译生成bzImage
  3. 更新GCC,G++,GDB
  4. 安装Qemu
  5. 安装VS Code,并进行相关配置

虚拟机Ubuntu安装

虚拟机(Parrales Desktop,vmware等均可)中安装Ubuntu 14.04,这里Ubuntu版本可以自由选择,只要Parrales tools能够正常安装即可。

另外,好选择x64版本,性能会更好一些。具体安装过程略。 由于原始apt更新速度较慢,需要更新国内源,这里使用清华apt源

vim /etc/apt/sources.list

相关文章