如何使用debug,如何使用Debug模式

時間 2023-01-21 16:20:05

1樓:李牧科技探索

debug是一種程式,一種除錯工具,說白了就是供程式設計師檢查修改問題的工具。用比較正式的話說debug是dos,windows都提供的實模式(也就是8086方式)程式的除錯工具。其實嚴格來說,debug是在dos方式下使用的程式,我們在進入debug前應該先進入dos。

而就目前我們用的計算機來說,進入dos有以下兩種方法:

1.重啟計算機,進入dos,此時進入的是實模式的dos。

2.在windows介面進入dos,此時進入的是虛擬8086模式的dos。

我們所說的cpu工作模式分為實模式和保護模式兩種,而虛擬8086是保護模式下一種任務的執行模式,並非cpu的工作模式。大家平時用的windows系統是執行在保護模式下的,而計算機在剛啟動的時候是在實模式下執行,在啟動windows系統時進入保護模式,除非關閉系統,否則不會回到實模式。如果要一直在實模式下執行,那就得使用dos等實模式下的作業系統。

但是在windows系統中載入的dos程式是在虛擬8086模式下執行的。當然這裡面涉及了一些dos的相關知識,由於篇幅原因咱們在這兒就不講了,感興趣的可以留言評論一起交流。

好了,言歸正傳,回到debug上, 這裡有一點需要注意,debug把所有資料都當成位元組處理,因此可以用它檢查記憶體中任何地方的位元組以及修改任何地方的位元組。它可以用於逐指令執行某個程式以驗證程式執行的正確性,也可以在機器碼這個級別追蹤執行過程、比較乙個指令執行前後的值以及比較與移動記憶體中資料的範圍,讀寫檔案與磁碟扇區。

值得一提的是,debug在組合語言中的應用非常廣泛,debug的命令比較多,大約20多個,和彙編密切相關的有r命令、d命令、e命令、u命令、t命令、a命令等等,當然每個命令作用不同,比如d是檢視記憶體內容,e是修改記憶體內容,t是執行一條機器指令等等,還有很多,而且都有固定的命名使用格式,這裡就不一一講了,我們今天主要是讓大家知道並理解debug的意思,關於怎麼使用它學有餘力的可以自行學習研究一下,好了,就到這裡吧。

2樓:archimage丶重樓

win10系統天熱出現的問題和解決方法。

如何使用debug模式

如何使用debug除錯

debug命令怎麼用?是幹什麼的?

3樓:匿名使用者

debug原意是殺蟲子。這裡是機器除錯工具。

他的用處有很多。

啟動 debug,它是可用於測試和除錯 ms-dos 可執行檔案的程式。

debug [[drive:][path] filename [parameters]]

引數 [drive:][path] filename

指定要測試的可執行檔案的位置和名稱。

parameters

指定要測試的可執行檔案所需要的任何命令列資訊。

++ 說明。

使用 debug 命令但不指定要測試的檔案。

如果使用沒有位置和檔名的 debug 命令,然後鍵入所有的 debug 命令以響應 debug 提示符,連字元 (-

debug 命令。

以下是 debug 命令列表:

? 顯示 debug 命令列表。

a 彙編 8086/8087/8088 記憶碼。

c 比較記憶體的兩個部分。

d 顯示部分記憶體的內容。

e 從指定位址開始,將資料輸入到記憶體。

f 使用指定值填充一段記憶體。

g 執行在記憶體中的可執行檔案。

h 執行十六進製制運算。

i 顯示來自特定埠的 1 位元組值。

l 將檔案或磁碟扇區內容載入到記憶體。

m 複製記憶體塊中的內容。

/n 為 l 或 w 命令指定檔案,或者指定正在測試的檔案的引數。

o 向輸出埠傳送 1 個位元組的值。

p 執行迴圈、重複的字串指令、軟體中斷或子例程。

q 停止 debug 會話。

r 顯示或改變乙個或多個暫存器。

s 在部分記憶體中搜尋乙個或多個位元組值的模式。

t 執行一條指令,然後顯示所有暫存器的內容、所有標誌的狀態和 debug 下一步要執行的指令的解碼形式。

u 反彙編位元組並顯示相應的原語句。

w 將被測試檔案寫入磁碟。

xa 分配擴充套件記憶體。

xd 釋放擴充套件記憶體。

xm 對映擴充套件記憶體頁。

xs 顯示擴充套件記憶體的狀態。

怎麼用debug c語言

4樓:吉祥二進位制

簡單來說,有兩種方式,一種是原始碼debug,即分析原始碼來找出bug位置,一般使用printf()列印出程式執行每一步的資訊,一種是可執行檔案debug,需要使用偵錯程式來進行。

1、原始碼debug

類似於下面的原始碼,主要通過程式執行時輸出的資訊,來定位bug出現的位置,然後再修改原始碼。

#include

void f()

int main()

2、可執行檔案除錯,windows平台常用的就是vs/vc自帶的除錯,另外乙個就是微軟自家開發的偵錯程式平台以gdb為常用。

ide自帶的偵錯程式以為例,編寫完**後,按快截鍵盤f11,即可進入除錯,此時右鍵,選擇「go to disassembly"即可檢視到程式的反彙編** 。一般這種情況,主要是為了對c語言進行反彙編學習。

windbg的功能非常多,可以進行原始碼除錯、可以除錯可執行檔案、還可以進行核心除錯,也可以除錯dump檔案,用的多了,自然熟悉,要除錯可執行檔案,只需要點選」file"在彈出的對話方塊中選擇「open executeable",然後找到自己要除錯的程式即可。

linux常用的是gdb偵錯程式,值得注意的是,要使用gdb除錯,在使用gcc或者g++編譯c/c++檔案時,需要新增-g引數才可以生成符號表。下圖是用gdb分析c++中變數分布的一張截圖,大體上看一下長什麼樣,用的多了自然熟悉,不需要可以去學習。

5樓:匿名使用者

debug只是一種除錯工具,所有的系統一般都自帶的,你在命令欄輸入debug,然後回車就可以進入除錯介面,debug一般都和組合語言掛鉤,而c語言則是一種高階語言,需要具體的編譯器,如vc++,devc++,等等。

如何使用debug程式?

如何使用ERDAS IMAGINE建立DEM

erdas imagine 遙感氣象資料處理的好工具衛星遙感資料是氣象分析的主要資源。各種氣象衛星可以應用於監測各種尺度的天氣系統,進行短期和中長期天氣預報 氣候 環境監測以及全球環境變化的研究。erdas imagine 作為世界上最先進的地理影象處理軟體,是業界唯一的 3s 整合的應用系統,可以...

如何使用vlookup,如何使用vlookup函式

a列b列x列 y列z列 王五張三 212000 李四王五 232100 張三李四 252300 以上表為例,a列和x列人員姓名順序不一致,現在要把x列對應的z列資料填寫到a列相對應的b列。在b1輸入公式vlookup a1,x z,3,0 vlookup 要找的值,乙個資料區,需返回該資料區的列號,...

如何使用AE,如何使用AE模板

是a萌呀 ae模板匯入使用的具體步驟如下 1 首先選擇好自己想要套用的模板,用ae開啟。2 然後進行 替換,雙擊總合成,一層一層的找下去,找到承載 的子合成。3 雙擊進去就可以替換,在替換之前我們先要將自己的 匯入到素材。4 當所有 都修改完,回到主合成裡面看效果,沒有問題就可以渲染輸出。 戢妍妍 ...