Abstract
系統核心的除錯和一般應用程式的除錯大不相同,一般的應用程式除錯器 有可能會使用到一些功能,而這功能必須要由作業系統來提供,如:螢幕 顯現副程式或鍵盤讀取副程式等,但是系統除錯器卻不能直接使用這些副 程式,它必須自己來支援這些功能。因為也許它正在除錯的程式會使用到 上述的功能,如果它也使用這些副程式,則有可能無法進行除錯;甚至於 它也有可能正在除錯螢幕顯現副程式或是鍵盤讀取副程式等..。為了要發 展一個建立在 INTEL i486 微處理機的保護模式上的物件基底系統,我們 需要一個系統核心的除錯器。如此一來在我們製造各種系統物件時,我們 就可以利用這個系統核心除錯器來進行除錯;便可以產生各種物件來組合 出一個全新的系統。本系統核心除錯器的另一特點是它是執行在 INTEL i486 微處理機的保護模式之下,而一般的除錯器在保護模式下是無法發 揮效用的,它們通常是被設計來除錯真實模式下的程式。而其他一些可在 保護模式作用的除錯器卻需要作業系統的配合,所以我們需要一個全新的 核心除錯器來幫助我們。本系統除錯器利用 INTEL i486 微處理機在保護 模式下所提供的功能來幫助使用者除錯,如單步中斷、軟體中斷、硬體中 斷及記憶體保護等..,本除錯器除了能讓我們隨時中斷執行中的程式之外 ,還可以查看記憶體的內容、修改記憶體的內容、尋找資料在記憶體中的 位置、查看輸入埠的狀態、送資料至輸出埠及設定中斷點等等..,更可以 顯示保護模式下的重要資料,有了它的幫助,我們除錯的過程就容易多了 。 Kernel debugger is not like normal debugger, it has to build all subroutines for itself like keyboard handler, video subroutines. Because maybe these subroutines are the codes which we want to debug. A debugging tool for Object-Based system under the protected mode of INTEL i486 processor is developed. It is a kernel debugger and it provides a user interface to let programmers check memory, registers, I/O status, and set break conditions. Programmers can use it to debug their programs when they want kernel object working under the protected mode of INTEL i486 processor. INTEL i486 processor has provides some features like memory segmentation protection, hardware breakpoints to help programmers debugging. This debugging tool uses these abilities to reach the goal of debugging kernel objects.