參考
及狄泰軟體相關課程
前面我們講解了主引導程式的載入過程,並且製作了虛擬軟盤a.img,最終這個主引導程式也在機器中成功執行了,但是實際開發的時候,並不會如此簡單,免不了除錯過程,如果還像上一節中直接將軟盤放到機器中去載入的話是沒有辦法進行除錯的,因此,我們需要一款除錯工具bochs,bochs是一款x86模擬器,支援斷點除錯,為我們開發作業系統帶來了方便。
bochs的安裝:
我們使用的版本是bochs-2.4.5,配置完成後,然後進行make,如下:
執行完make編譯後就是安裝過程,我們只需執行sudo make install即可,如果一切順利的話,上面三步很快就會完成,安裝也隨之完成。
但是,現實往往是悲催的,安裝過程會報各種錯誤,本文不在詳細展示錯誤的情況,只給出一些有限的解決方法。
1、配置中如果出現錯誤,可能是缺少g++編譯器,可用sudo apt-get install g++安裝即可。
2、缺少x-window,例如:error: x windows gui was selected, but x windows libraries were not found
可使用sudo apt-get install xorg-dev安裝xorg-dev包。
3、缺少gtk庫
package gtk+-2.0 was not found in the pkg-config search path.perhaps you should add the directory containing `gtk+-2.0.pc'to the pkg_config_path environment variableno package 'gtk+-2.0' founderror: pkg-config was not found, or unable to access the gtk+-2.0 package.install pkg-config and the gtk+ development package,or disable the gui debugger, or the wxwidgets display library (whichever is being used).
可以使用sudo apt-get install libgtk2.0-dev來安裝相應的庫即可。
4、bochs啟動時崩潰,顯示panic錯誤,可嘗試使用sudo apt-get install bochs-x解決。
其他的錯誤資訊可以自行搜尋解決。
bochs安裝完成後,還需要安裝vgabios,執行sudo apt-get install vagbios即可。下面就進入bochs真正的配置。
bochs啟動時可以顯示的使用bochs -f bochsrc_file,如果不加啟動檔案的話會自動在當前目錄下一依次尋找.bochsrc,bochsrc,bochsrc.txt,首先找到的即被當做啟動檔案。bochs的啟動檔案大致如下:
9,10,13,25是我們重點關注的行,13行的a.img即為當前目錄下的虛擬軟盤檔案的名字,9行的romimage是bochs安裝目錄下的乙個檔案,10行的vgaromimage是vgabios安裝目錄下的檔案,我們首先要確定bochs和vgabios的安裝目錄,使用如下命令:
which bochs
和whereis vgabios
which是檢視可執行檔案的位置,whereis是檢視檔案或者目錄的位置,whereis有很多選項,可以進行特定格式的檔案查詢。
執行結果如下:
第9行romimage和第25行map的填寫請注意,which bochs只能確定bochs的安裝路徑,以上兩項的填寫需要在上述路徑下相應的切換一下資料夾。
輸入6,開始**,進行到如下介面:
輸入continue,回車,結果如下:
上圖和我們在vmware模擬的物理機器上執行的結果一致。
bochs還支援斷點除錯,例如,剛啟動時,我們不輸入continue,而是先設定乙個斷點,即break 0x7c00,然後再執行continue,如下所示:
執行continue後,程式停在了7c00斷點處,如下所示:
至此,我們搭建好了最基本的os除錯環境。
tornado搭建除錯環境
雖然現在覺得很容易,但還是想寫下來,免得以後忘了都沒地方找 首先要安裝虛擬網絡卡,因為習慣用網路連線vxworks系統,虛擬網絡卡的安裝步驟 設定 控制面板 新增新硬體 從磁碟安裝 然後選擇到tornado目錄host x86 win32 bin裡面吧,有個ulip還是什麼玩意的 然後選擇安裝就好了...
Nodejs除錯環境搭建
欲善其事,先利其器。nodejs除錯方法主要可以分為三類 以乙個小demo hello.js 為例對後面兩者做介紹 console.log server running at npm安裝node inspector包 npm install g node inspector 後台程序的方式啟動 no...
vs keil proteus除錯環境搭建
寫作背景 本人手上有一塊微控制器開發板,但是,日常開發中存在硬體電路修改困難且耗時,硬體除錯 問題困難,keil開發沒有提示難受。為了愉快的開發微控制器,使用vs visual assist開發微控制器程式,解決了提示的問題 使用proteus模擬微控制器電路,解決了電路修改困難且耗時的問題 使用k...