調試環境的搭建

在Hello DTOS中,使用匯編語言直接基於x86架構的硬件完成了第一個主引導程序,實在是大功一件。
Hello DTOS博客中,存在着這樣一個問題:在開發的過程當中沒有任何可用的調試環境,當主引導程序愈來愈複雜時,出現bug根本無法調試。
本篇博客就來搭建高效可用的調試環境ios

調試環境搭建(上)
問題:如何調試主引導區的代碼?
Bochs(另外一款優秀的虛擬機軟件)
-專業模擬x86架構的虛擬機
-開源且高度可移植,由C++編寫完成
-支持操做系統開發過程當中的中斷調試
-經過簡單配置就能運行絕大數主流的操做系統架構

支持調試功能的Bochs版本
1. 下載源碼:https://sourceforge.net/projects/bochs/files/
2. 解壓縮bochs-2.x.x.tar.gz->bochs-2.x.x
3. 進入源碼目錄:cd bochs-2.x.x
4. ./configure --enable-debugger --enable-disasm
5. make
6. sudo make installspa

安裝完成bochs後,直接運行bochs,會出現崩潰,爲何?操作系統

調試環境搭建(中).net

-肯定bochs的安裝路徑(which bochs)
-安裝vgabios(apt-get install vgabios)
-肯定vgabios的安裝路徑(whereis vgabios)debug

Bochs想要運行必須通過配置,因此說必須準備一個配置好的啓動文件。有了啓動文件,Bochs就知道如何運行具體的操做系統了。調試

 

 當上面這些關鍵值設置好了之後,就能夠經過啓動文件來將bochs成功的啓動起來了。blog

啓動bochs虛擬機
-顯示方式:bochs -f bochsrc_file(啓動文件的名字)
-隱式方式:bochs
      .bochsrc 首先在當前目錄下查找有沒有bochsrc文件,若是有就以bochsrc做爲啓動文件,不然以第二種方式啓動。怎麼感受與                                     第一種同樣
      bochsrc 若是有就以bochsrc做爲啓動文件,不然就以bochsrc.txt做爲啓動文件
      bochsrc.txt開發

配置好了以後,再次運行bochs就不會出現問題了。而後再運行continue,就會出現hello DTOS了。
調試環境搭建(下)
get

已經操做系統的搭建環境調試好了,接下來應該幹什麼呢?
使用這個高端大氣上檔次的調試環境,和使用gdb調試差很少。下面是Bochs中的經常使用調試命令

 小結:

Bochs是一款專業模擬x86架構的虛擬機
從源碼安裝Bochs能夠得到調試功能的支持
Bochs的啓動配置文件是正確運行關鍵
Bochs支持斷點調試,其調試命令與GDB相似

相關文章
相關標籤/搜索