bochs除錯入門

2021-09-27 11:53:14 字數 1072 閱讀 1940

bochs除錯入門

安裝

sudo apt-get install vgabios bochs bochs-x bximage

建立軟盤

bximage

fd一直回車,將在當前目錄下會建立乙個預設大小為1.44m的軟盤名為a.img。

dd if=boot of=a.img bs=512 count=1 conv=notrunc #將二進位制檔案寫入軟盤,boot為彙編生成的二進位制檔案

編寫bochs配置檔案 bochsrc.bxrc

megs: 32

romimage: file=/usr/share/bochs/bios-bochs-latest

vgaromimage: file=/usr/share/vgabios/vgabios.bin

floppya: 1_44=a.img, status=inserted

boot: floppy

log: bochsout.txt

mouse: enabled=0

啟動除錯

bochs -f bochsrc.bxrc

bochs除錯基本命令:

b addr :

在某實體地址設定斷點。eg: b 0x7c00

info break:

顯示當前所以斷點資訊。eg: info break

c繼續執行,直到遇到斷點

s單步執行

n單步執行,跳過函式

info cpu, r, fp, sreg, creg

檢視暫存器資訊

print-stack

檢視堆疊

xp /nuf addr

檢視記憶體實體地址內容

x /nuf addr

檢視線性位址內容

u start end

反彙編一段**

trace-on

反彙編執行每一條指令

trace-reg

每執行一條指令就列印cpu資訊

Bochs 除錯技術

bochs 除錯技術 freos hobby os frank wang 中國核芯網 對於任何想嘗試寫自己的作業系統的朋友來說,我都要向你推薦bochs。這個模擬器最大的好處就是可以單步除錯。在沒了解它之間,我在寫freos幾乎是瞎子,進展十分緩慢,特別是在你沒有完成顯示器驅動之前,你可以想象,看不...

bochs除錯技術

bochs除錯技術 除錯模式將出現下列命令列 bochs 1 下面初步說明一下每條指令的用法 執行控制命令 c 繼續執行,遇到斷點將停止 stepi count 執行count條指令,預設為1條 si count stepi的縮寫 step count 執行count條指令,預設為1條 s coun...

Bochs除錯指令

bochs就像一台真機一樣,處理器在加電之後,要開始取指令並執行指令。jmpf f000 e05b 轉移目標位置rom bios如圖在左側顯示了該指令所在的物理記憶體位址0x0000fffffff0。但為什麼是0x0000fffffff0?因為和8086不同,現代處理器在加電時,段暫存器cs的內容為...