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

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

分享到微博請遵守國家法律
时尚| 屏南县| 临潭县| 石台县| 蕉岭县| 霍城县| 南澳县| 方山县| 南川市| 雷山县| 柳江县| 滨州市| 河北区| 河西区| 河东区| 五河县| 富顺县| 清新县| 巴马| 乌拉特后旗| 天峨县| 开原市| 安顺市| 临安市| 邵阳市| 安庆市| 定安县| 泰顺县| 雷州市| 万州区| 抚宁县| 鄂温| 库车县| 周至县| 西青区| 蓬莱市| 石门县| 固原市| 百色市| 阳曲县| 深水埗区|