从头写一个操作系统 13 (构建工具->GDB调试QEMU)

在已经实现能打印'X'的简单内核基础上,本文档介绍如何整理代码结构,编写Makefile,并详细讲解如何配置和使用交叉编译版的GDB在QEMU上进行调试。首先,通过下载并编译GDB针对i386-elf的目标版本,接着利用.gdbinit文件设置断点,然后通过gdb连接QEMU的调试端口进行调试操作,如查看内存中的字符串、设置和使用断点等。
摘要由CSDN通过智能技术生成

请自行google:monolithic kernel, microkernel, debugger, gdb

本节课目标:稍微暂停,梳理一下我们的代码,然后学习如何使用gdb调试我们的kernel。

也许你没有意识到你已经拥有了一个可以跑起来的内核。

虽然我们的内核还很小,只能打印’X’。但现在是时候停一下,将这些代码放入各自的文件夹中,写一个Makefile。

看一看新的文件结构吧,几乎都是从之前的课程目录中引用过的,所以如果要修改这些文件,最好是删掉这些引用重新写个新的。

由于后面我们大部分时间都会用C来编码,我们将用gdb连接qemu提供的调试端口。
第一步,我们需要一个交叉编译版本的gdb,苹果系统使用的lldb无法识别ELF格式(并且,homebrew的仓库里也查不到gdb)。

cd /tmp/src
curl -O http://ftp.rediris.es/mirror/GNU/gdb/gdb-7.8.tar.gz
tar xf gdb-7.8.tar.gz
mkdir gdb-build
cd gdb-build
export PREFIX="/usr/local/i386elfgcc"
export TARGET=i386-elf
…/gdb-7.8/configure --target=“ T A

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值