日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

使用 Bochs 调试操作系统

發布時間:2025/6/15 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用 Bochs 调试操作系统 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

編譯安裝 Bochs

  • 下載 bochs 源碼

http://sourceforge.net/projects/bochs/files/bochs/2.6.8/

  • 解壓之后進入該目錄,進行配置

sudo ./configure --enable-debugger --enable-disasm

  • 編譯安裝

sudo make

sudo make install

這時,bochs 就編譯安裝完成了,接下來我們繼續使用上一篇文章中所使用的軟盤映像。

用 Bochs 調試操作系統

啟動帶有調試的 bochs 之后,我們會看到bochs 會進入一個選項界面,我們選擇『6.Begin simulation』就可以開始調試了

部分 Bochs 調試指令

行為指令舉例
在某物理地址設置斷點b addrb 0x7c00
顯示當前所有斷點信息info breakinfo break
繼續執行,直至遇到斷點cc
單步執行ss
單步執行(遇到函數跳過)nn
查看寄存器信息info cpu
r
fp
sreg
creg
info cpu
r
fp
sreg
cre
查看堆棧print-stackprint-stack
查看內存物理地址內容xp /nuf addrxp /40bx 0x9013e
查看線性地址內容x /nuf addrx /40bx 0x13e
反匯編一段內存u start endu 0x30400 0x3040d
反匯編執行的每一條指令trace-ontrace-on
每執行一條指令就打印 CPU 信息trace-regtrace-reg

- 我們可以使用 help 來查看調試幫助

舉例

采用上一篇文章中的鏡像來進行調試



<bochs:1> b 0x7c00 <bochs:2> c 00000003305i[BIOS ] $Revision: 1.257 $ $Date: 2011/01/26 09:52:02 $……00014041008i[BIOS ] Booting from 0000:7c00(0) Breakpoint 1, 0x00007c00 in ?? () Next at t=14041069 (0) [0x000000007c00] 0000:7c00 (unk. ctxt): mov ax, cs ; 8cc8<bochs:4> x /64xb 0x7c00 [bochs]: 0x00007c00 <bogus+ 0>: 0x8c 0xc8 0x8e 0xd8 0x8e 0xc0 0xe8 0x02 0x00007c08 <bogus+ 8>: 0x00 0xeb 0xfe 0xb8 0x1e 0x7c 0x89 0xc5 0x00007c10 <bogus+ 16>: 0xb9 0x0d 0x00 0xb8 0x01 0x13 0xbb 0x0c 0x00007c18 <bogus+ 24>: 0x00 0xb2 0x00 0xcd 0x10 0xc3 0x48 0x65 0x00007c20 <bogus+ 32>: 0x6c 0x6c 0x6f 0x2c 0x20 0x77 0x6f 0x72 0x00007c28 <bogus+ 40>: 0x6c 0x64 0x21 0x00 0x00 0x00 0x00 0x00 0x00007c30 <bogus+ 48>: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00007c38 <bogus+ 56>: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00<bochs:5> n Next at t=14041070 (0) [0x000000007c02] 0000:7c02 (unk. ctxt): mov ds, ax ; 8ed8<bochs:6> trace-reg on Register-Tracing enabled for CPU0<bochs:7> n Next at t=14041071 eax: 0x00000000 0 ecx: 0x00090000 589824 edx: 0x00000000 0 ebx: 0x00000000 0 esp: 0x0000ffd6 65494 ebp: 0x00000000 0 esi: 0x000e472c 935724 edi: 0x0000ffac 65452 eip: 0x00007c04 eflags 0x00000082: id vip vif ac vm rf nt IOPL=0 of df if tf SF zf af pf cf (0) [0x000000007c04] 0000:7c04 (unk. ctxt): mov es, ax ; 8ec0<bochs:8> c ……

總結

以上是生活随笔為你收集整理的使用 Bochs 调试操作系统的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。