ucore lab1 任务二

本文详细介绍了如何使用QEMU调试模式开启gdb调试工具,并从0xfff0开始跟踪BIOS的执行过程。通过设置实地址断点在初始化位置0x7c00处,测试断点的正常工作情况。进一步地,从0x7c00开始跟踪代码运行,并将反汇编得到的代码与bootasm.S和bootblock.asm文件进行对比。最后,用户被鼓励自行选择代码位置设置断点进行测试,深入理解调试技术。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

任务二:

1.     首先开启qemu调试模式.


开启gdb调试工具,连接到qemu中:


2.     从0xfff0开始单步跟踪BIOS的执行

从上图可看出本身执行就是从fff0执行的,进行反汇编得到的结果为:



3.     在初始化位置0x7c00设置实地址断点,测试断点正常。

首先设置断点:


然后运行程序执行到断点处:


4.     从0x7c00开始跟踪代码运行,将单步跟踪反汇编得到的代码与bootasm.S和bootblock.asm进行比较

在0x7c00进行反汇编操作:


Bootasm.S:


Bootblock.asm:


从三个文件的语句比较来看,表达的每句话的含义是相同的,只不过汇编语句的表示方式有所不同。

5.     自己找一个bootloader或内核中的代码位置,设置断点进行测试。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值