无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

0175-GDB 調(diào)試 multiboot 啟動

2023-08-19 13:09 作者:jiangbo4444  | 我要投稿

環(huán)境

  • Time 2022-11-12

  • WSL-Ubuntu 22.04

  • QEMU 6.2.0

  • NASM 2.15.05

前言

說明

參考:https://os.phil-opp.com/multiboot-kernel/

目標

使用編寫好的內(nèi)核可執(zhí)行文件,直接從 QEMU 啟動,啟動時暫停 CPU,使用 GDB 調(diào)試。

匯編代碼

編譯 debug 版本

nasm -f elf32 -g boot.asm -g 參數(shù)可以增加調(diào)試信息。

鏈接

linker.ld 文件內(nèi)容:

鏈接命令:ld -T linker.ld -m elf_i386 boot.o -o kernel.elf

啟動 QEMU

qemu-system-x86_64 -kernel kernel.elf -display curses -s -S

啟動 GDB 調(diào)試

  • 啟動命令:gdb kernel.elf

  • 設置架構:set architecture i386:x86-64

  • 增加斷點:break start,在入口增加了一個斷點。

效果

調(diào)試QEMU啟動

通過 GDB 調(diào)試可以顯示源碼,單步調(diào)試時,自動顯示下一條指令。 通過 CR0 寄存器,可以看到 PE,即保護模式已啟用。

總結

從 QEMU 中啟動 心中了調(diào)試信息的 kernel.elf,并且通過 GDB 連接調(diào)試。

附錄


0175-GDB 調(diào)試 multiboot 啟動的評論 (共 條)

分享到微博請遵守國家法律
万荣县| 灵武市| 西平县| 大姚县| 阜宁县| 缙云县| 乌恰县| 安溪县| 抚松县| 贵州省| 万年县| 泾阳县| 林口县| 龙门县| 柯坪县| 长子县| 太保市| 五台县| 株洲市| 温泉县| 马关县| 稷山县| 巴里| 汾阳市| 正定县| 无为县| 岳池县| 三江| 三都| 永年县| 云和县| 保亭| 志丹县| 阿勒泰市| 堆龙德庆县| 玉林市| 怀化市| 宜都市| 吉安县| 寿宁县| 阿拉善盟|