最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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 啟動的評論 (共 條)

分享到微博請遵守國家法律
印江| 靖边县| 陇川县| 即墨市| 游戏| 香格里拉县| 肇东市| 房产| 怀集县| 甘肃省| 楚雄市| 滨州市| 仙桃市| 邹平县| 廊坊市| 金沙县| 静乐县| 苏尼特左旗| 曲周县| 河东区| 海伦市| 额敏县| 临汾市| 峡江县| 腾冲县| 兰西县| 宣化县| 正阳县| 太和县| 河北区| 鄂温| 安乡县| 拜泉县| 龙里县| 葫芦岛市| 本溪市| 宁安市| 呼和浩特市| 元氏县| 湘乡市| 宁强县|