1. debug程式使用:c>debug 檔名.exe
2. 常用debug命令
(1)彙編命令 a
功能:將輸入源程式的指令彙編成目標**並從指定位址單元開始存放。若預設起始位址,則從當前cs:100位址開始存放。a命令按行彙編,主要是用於小段程式的彙編或對目標程式的修改。
(2)反彙編命令 u
格式2將指定範圍的記憶體單元中的目標**轉換成彙編指令。
(3)顯示、修改暫存器命令 r
格式:r[暫存器名]
功能:若給出暫存器名,則顯示該暫存器的內容並可進行修改。預設暫存器名,則按以下格式顯示所有暫存器的內容及當前值(不能修改)。
ax=0000 bx=0004 cx=0020 dx=0000 sp=0080 bp=0000 si=0000
di=0000 ds=3000 es=23a0 cs=138e ip=0000
nv up di pl nz na po nc
138e:0000 mov ax,1234
-r ax ;輸入命令
ax 0014 ;顯示ax的內容
: ;供修改,不修改按回車。
若對標誌暫存器進行修改,輸入:-rf
螢幕顯示如下資訊,分別表示of、df、if、sf、zf、af、pf、cf的狀態。
nv up di pl nz na po nc
不修改按回車鍵。要修改需個別輸入乙個或多個此標誌的相反值,再按回車鍵。r命令只能顯示、修改16位暫存器。
(4)顯示儲存單元命令 d
功能:格式1從起始位址開始按十六進製制顯示80h個單元的內容,每行16個單元,共8行,每行右邊顯示16個單元的ascii碼,不可顯示的ascii碼則顯示「·」。格式2顯示指定範圍內儲存單元的內容,其他顯示方式與格式1一樣。如果預設起始位址或位址範圍,則從當前的位址開始按格式1顯示。
例如: -d 200 ;表示從ds:0200h開始顯示128個單元內容
-d 100 120 ;表示顯示ds:0100-ds:0120單元的內容
(5)修改儲存單元命令 e
例如:—e ds:0100 'var' 12 34
表示從ds:0100 為起始單元的連續五個位元組單元內容依次被修改為 'v'、'a'、'r'、12h、34h。
格式2是逐個修改指定位址單元的當前內容。
如:—e ds:0010
156f:0010 41.5f
其中156f:0010單元原來的值是41h,5fh為輸入的修改值。若只修改乙個單元的內容,這時按回車鍵即可;若還想繼續修改下乙個單元內容,此時應按空格鍵,就顯示下乙個單元的內容,需修改就鍵入新的內容,不修改再按空格跳過,如此重複直到修改完畢,按回車鍵返回debug「-」提示符。如果在修改過程中,將空格鍵換成按「-」鍵,則表示可以修改前乙個單元的內容。
(6)執行命令 g
功能:cpu從指定起始位址開始執行,依次在第
一、第二等斷點處中斷。若預設起始位址,則從當前cs:ip指示位址開始執行一條指令。最多可設定10個斷點。
(7)跟蹤命令 t
功能:從指定位址開始執行『正整數』條指令,若預設『正整數』,表示執行一條指令,若兩項都預設,表示從當前cs:ip指示位址開始執行一條指令。
(8)指定檔案命令 n
格式:n《檔名或副檔名》
功能:指定即將調入記憶體或從記憶體寫入磁碟的檔名。該命令應該用在l命令和w命令之前。
(9)裝入命令 l
格式2將n命令指出的檔案裝入到指定起始位址的儲存區中,若省略起始位址,則裝入到cs:100處或按原來檔案定位約定裝入到相應位置。
(10)寫磁碟命令 w
格式2將起始位址的bx×10000h+cx個位元組內容存放到由n命令指定的檔案中。在格式2的w命令之前,除用n命令指定存檔的檔名外,還必須將要寫的位元組數用r命令送入bx和cx中。
(11)退出命令 q
格式:q
功能:退出debug,返回到作業系統。
Debug除錯程式
debug 1.進入debug方式 第二種 單擊工具欄中的小飛蛾,在下拉列表中選擇除錯的專案 2.新增斷點的方式 第一種 雙擊編輯框中 所在行號左側的空白處新增,再次雙擊刪除。第二種 在編輯框中 所在行號左側的空白處右鍵單擊 toggle breakpotion新增或刪除。第三種 快捷鍵ctrl s...
php 除錯程式
在執行時必須知道某個變數為何值。我是這樣做的,建立一檔案debug.php,其內容如下 php php ob start session start echo pre echo 本頁得到的 get變數有 print r get echo 本頁得到的 post變數有 print r post echo...
GDB除錯程式
gdb的三個功能 1 啟動被除錯的程式 2 設定斷點 3 設定斷點之後可以檢查程式的狀態 1.編譯生成可執行檔案 注意 g 除錯選項 gcc g tst.c o tst 2.啟動gdb gdb tst 3.在main函式處設定斷點 break main 4.執行程式 run5.利用 更加豐富的 gd...