bochs除錯入門
安裝
sudo apt-get install vgabios bochs bochs-x bximage建立軟盤
bximage編寫bochs配置檔案 bochsrc.bxrcfd一直回車,將在當前目錄下會建立乙個預設大小為1.44m的軟盤名為a.img。
dd if=boot of=a.img bs=512 count=1 conv=notrunc #將二進位制檔案寫入軟盤,boot為彙編生成的二進位制檔案
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.bxrcbochs除錯基本命令:
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的內容為...