當前位置:外匯行情大全網 - 外匯開戶 - 什麽是調試軟件?

什麽是調試軟件?

Debug是壹個匯編程序。

DEBUG的用法。

DEBUG是壹個DOS實用程序,是程序員的程序調試工具,可以用來檢查內存中任何地方的字節,修改任何地方的字節。它可以用來逐個執行壹個程序,以驗證程序的正確性。它還可以跟蹤執行過程,比較指令執行前後的值,比較和移動內存中的數據範圍,讀寫文件和磁盤扇區。

調試將所有數據視為字節序列。所以它可以讀取任何類型的文件。DEBUG可以識別兩種數據:十六進制數據和ASCⅱⅱ代碼字符。它的顯示格式是每個字節的十六進制值和取值在32到126之間的字節對應的ASCⅱII碼字符。

調試中有兩種方式輸入數據:提示方式和非提示方式。當使用提示方法時,用戶可以輸入輸入數據的命令,隨後是要輸入數據的地址。然後用戶可以在這個地方看到現有的內容和壹個冒號提示。此時,用戶可以在提示符下輸入新值,或者按enter或CTRL+C返回到短水平(-)提示符。當使用非提示方法時,用戶可以輸入要輸入的數據的存儲地址和要輸入的字節。但是,與使用文字處理器或文本編輯器時不同,使用DEBUG時,用戶不能直接將光標移動到某個入口點來輸入或修改數據,而是壹次輸入壹個或幾個字節。

使用DEBUG時,只能涉及內存中的數據,所以壹般會指定要處理的內存地址。地址的輸入格式為:[段地址]:[位移]。如果沒有輸入地址,調試將采用當前內存段,從地址100H的字節開始。第壹個100H字節保留給程序段前綴,這個特殊區域用來建立DOS和程序之間的連接。DEBUG總是使用四個十六進制數字來表示地址。用兩位數表示十六進制數據。

至此,大家對DEBUG應該有了初步的了解,但僅僅知道這些是不夠的。接下來我就說說DEBUG的命令格式和命令。輸入時

調試

當調用調試程序時,會出現壹個簡短的水平提示,用戶可以在這個簡短的水平提示後輸入調試程序的命令。壹些調試命令顯示內存地址並生成冒號作為提示。在這些提示之後,用戶可以輸入新值來改變顯示位置的原始值。如果用戶按Enter或CTRL+C而不是輸入新值,原始值不會改變。

通常不需要將地址與命令名分開。例如,使用dump命令d查看地址100處的數據,則可以在以下任何情況下輸入該命令:

D100

D 100

d .100

d,100

如果輸入命令中有錯誤,DEBUG將在下壹行中標記面對錯誤的位置,例如:

-s100 d 12

錯誤

調試命令和功能如下:

*壹個[地址]匯編命令

功能:將指令直接匯編成機器碼,輸入內存。

註:用於匯編小程序,修改目標程序。所有輸入的數字都是十六進制的,用戶加載到內存中的匯編語句是連續存儲的。如果沒有指定地址,並且之前沒有使用assembly命令,修改後的語句將被匯編到CS:0100區域。

* C[源地址範圍][目的地址]比較命令

功能:比較兩個存儲區的內容,如果不同就顯示它們的地址和內容。

* D[地址]或D[起始地址][目的地址]轉儲命令。

功能:以記憶圖像的形式顯示內存中的信息。

描述:Dump分左右兩部分顯示內存鏡像的內容,左邊是十六進制,右邊是ASCII字符,所有不可打印的字符都用句號(。)說。每行顯示16個字節,在第八個和第九個字節之間有壹個連字符——該命令隱含的段地址是DS的值。如果未指定起始地址,D命令將從顯示的最後壹個單元格的下壹個單元格開始顯示。如果之前沒有使用過D命令,顯示將從初始化的段寄存器的內容開始,加上地址偏移量0100H。

* E[地址][字節串]修改內存命令

功能:從指定地址修改內存值。

註意:如果地址部分只輸入了偏移量,e命令會認為該段包含在DS寄存器中。命令格式有兩種:壹種是用命令中包含的字節串替換從指定地址開始的多個字節的內容;其次,如果命令後面沒有字節串,則允許以順序方式顯示和修改字節。按空格鍵顯示下壹個字節的內容。如果要修改,可以直接輸入相應的值。

* F[地址範圍][字節或字節串]填充命令

功能:在地址範圍指定的內存中填充要填充的字節或字節串。

* G[=起始地址][[斷點]...]執行命令。

功能:執行正在調試的程序,到達斷點時停止執行,顯示寄存器標誌和下壹個要執行的命令。

註意:如果沒有指定起始地址,則當前指令地址由CS和IP寄存器的內容決定。如果用戶指定了起始地址,執行將從指定的起始地址開始。如果指定了斷點,當指令到達指令地址時將停止執行,並顯示每個寄存器標誌位的內容和下壹個要執行的命令,允許用戶最多設置10個斷點。

* H[數值][數值]十六進制算術運算命令

功能:分別顯示兩個十六進制數之和以及第壹個數和第二個數之差。

描述:為用戶完成簡單的十六進制數運算。

* I[端口地址]

函數:從指定的端口輸入並顯示(十六進制)壹個字節。

* L[地址][磁盤號:][邏輯扇區號][扇區號]

功能:將文件或磁盤的絕對扇區加載到內存中。

註意:單個L命令最多可以加載80H個扇區,其中磁盤號為0,1,2,3...分別代表A、B、C、...出現磁盤讀取錯誤並顯示錯誤消息。

* M[地址範圍][起始地址]數據傳輸命令

功能:將地址範圍內存儲單元的內容移動到起始地址的指定地址。

註意:傳輸過程中,源區域和目標區域可以部分重疊;源區域數據在傳輸後保持不變。

* N[磁盤號:][路徑][文件名][擴展名]

功能:定義操作文件名。

註意:可以同時定義兩個操作文件,並且可以在存儲器CS:5C和CS:6C中設置形成的文件控制塊,用於後續的L和W命令操作。

* O[端口地址][數據]輸出命令

功能:發送字節到指定的輸出端口。

* P[=地址][數據]處理命令

功能:停止壹個子程序調用指令,循環指令,中斷指令或壹個重復的字符串指令的下壹條指令。

描述:在執行子程序調用指令、循環指令、中斷指令或重復的字符串指令時,發出P命令執行相關指令,返回下壹條要執行的指令。p命令與t命令的語法相同。

* Q退出命令。

* R[ register]寄存器命令

功能:1。顯示單個寄存器的內容,並提供修改功能。其次,顯示所有寄存器的內容,加上字母標誌位的狀態和下壹條要執行的指令。第三,顯示8個標誌位的狀態,並提供修改功能。

* S[地址範圍][字符串]

函數:在指定的地址範圍內查找給定的字符串。

描述:用於指定查找地址範圍內的字符串,如果找到則顯示其地址,否則直接顯示調試提示。隱式地址是DS段值。

* T[=地址][指令數]跟蹤命令

功能:逐個跟蹤程序的執行情況,每條指令執行完畢後會顯示每個寄存器的內容。

註意:通常跟蹤壹條指令,但用戶也可以設置指令的數量,以便壹次跟蹤多條指令。執行完每條指令後,所有寄存器的內容和標誌狀態都會顯示出來。

* U[起始地址]或[地址範圍]

功能:將內存中的內容轉換成匯編語句。

註意:反匯編的字節數取決於用戶的系統顯示形式和u命令中使用的選項。

* W[地址][驅動器號:][起始扇區][扇區號]寫命令

功能:將修改後的數據寫入磁盤。

註意:可以從磁盤上指定的內存地址開始寫數據,也可以在不指定參數或不指定地址參數的情況下在磁盤上寫調試文件。

  • 上一篇:申報時預付的款項。但是並沒有提前註冊。這種情況下,可以提前結算嗎?
  • 下一篇:利率差是多少?
  • copyright 2024外匯行情大全網