導航:首頁 > 程序命令 > debugg命令

debugg命令

發布時間:2022-09-24 11:50:37

『壹』 debug命令的詳細用法

debug命令DEBUG命令參數詳解DEBUG是一個DOS實用程序,是供程序員使用的程序調試工具,可以用它檢查內存中任何地方的位元組以及修改任何地方的位元組。它可以用於逐指令執行某個程序以驗證程序運行的正確性,也可以追蹤執行過程、比較一個指令執行前後的值以及比較與移動內存中數據的范圍,讀寫文件與磁碟扇區。它的功能包括以下幾個方面。1,直接輸入,更改,跟蹤,運行匯編語言源程序;2,觀察操作系統的內容;3,查看ROMBIOS的內容;4,觀察更改RAM內部的設置值;5,以扇區或文件的方式讀寫軟盤數據DEBUG把所有數據都作為位元組序列處理。因此它可以讀任何類型的文件。DEBUG可以識別兩種數據:十六進制數據和ASCⅡ碼字元。它的顯示格式是各個位元組的十六進制值以及值在32與126之間的位元組的相應ASCⅡ碼字元。在DEBUG中輸入數據有兩種方法:提示方法和非提示方法。在用提示方法時,用戶可以輸入要求輸入數據的命令,後跟數據所要輸入的地址。然後用戶就可以看到該地之中已有內容及一個冒號提示符。此時用戶可以在提示符下輸入一個新的值或者按下回車鍵或CTRL+C回到短橫(-)提示符。在運用非提示方法時,用戶可以輸入要輸入數據的內存地址以及要輸入的位元組。但與使用字處理程序或正文編輯程序時不一樣,在使用DEBUG時,用戶不能直接移動游標到一入口點輸入或修改數據,而要一次輸入一個或幾個位元組。在使用DEBUG時可以只涉及內存中的數據,從而一般都要指定所要處理的內存地址,地址的輸入格式是:[段地址]:[位移]。如果沒有輸入地址,DEBUG將假定為當前內存段,從位於地址100H的位元組開始。前100H位元組保留給程序段前綴使用,這一專用區域用於建立DOS與程序之間的聯系。DEBUG總是用四位十六進制數表示地址。用兩位數表示十六進制數據。講到這里大家應該對DEBUG有了初步的了解,但是光知道這些可不夠,接下來我來講講DEBUG的命令格式和命令。當輸入DEBUG調用了DEBUG程序,就會出現一個短橫提示符,用戶就可以在這一短橫後輸入DEBUG程序的命令。有些DEBUG命令會顯示一個內存地址並產生一個作為提示符的冒號。在這些提示符後,用戶可以輸入一個新值以改變所顯示位置原來的值。如果用戶不輸入一個新值而是按下回車或CTRL+C,那麼原來的值不會改變。一般用不著把地址和命令名字分開。例如,用轉儲命令D察看100號地址的數據,那麼這個命令可以用以下任一種形勢輸入:D100D100D。100D,100如果輸入的命令中出現了錯誤,DEBUG將在下一行對著錯誤的位置標記出來,例如:-s100d12^ErrorDEBUG的命令及功能如下:*A[地址]匯編命令功能:將指令直接匯編成機器碼輸入到內存中。說明:用於小段程序的匯編及修改目標程序,所有輸入的數字均採用十六進制,用戶裝入內存的匯編語句是連續存放的,若沒有指定地址,並且前面沒有使用匯編命令,改語句被匯編到CS:0100區域。例A:>DEBUG-a010008F1:0100MOVAH,0908F1:0102MOVDX,10908F1:0105INT21H;08F1:0107INT21H;debugtan.exe-u:反編譯成匯編語言程碼…………..-g100指定中斷點Programterminatednormally:另外:我們在DEBUG下可運行一個文件.EXE如:A:\>debugtan.exe-g即可開始運行此程序,和在DOS下完全一樣:*H[數值][數值]十六進制算術運算命令功能:分別顯示兩個十六進制數相加的和以及第一個數減去第二個數的差。說明:替用戶完成簡單的十六進制數的運算。例:-h453856239B5BEF15*I[埠地址]功能:從指定的埠輸入並顯示(用十六進制)的一個位元組。例:-i70F9;顯示70埠的內容為F9I命令可由80X86的64K個埠取數據*L[地址][盤號:][邏輯扇區號][扇區數]功能:將一個文件或盤的絕對扇區裝入存儲器。說明:單個L命令能夠裝入的最大扇區數是80H,其中盤號0,1,2,3……分別代表A,B,C,……出現讀盤錯,顯示錯誤信息。(1)格式1.L裝入地址驅動器名起始扇區/扇區數這種方式可把磁碟上指定扇區范圍的內容裝入到存儲器從指定地址開始的區域中,在此外扇區編號引用邏輯/扇區的方式。例:-L100001,將A驅的0扇區裝至CS:100上-d10010f08F1:0100EB3C903C53444F53-362E323202010100.L,MSDOS6.22……(2)格式2:L裝入地址這種方式可把指定文件裝入內存,裝入的文件可在進入DEBUG時指定亦可用N命令建立,格式為-n文件名:例1DEBUGtan.pas-L100例2DEBUG-ntan.pas-L100須知:L命令只能讀取邏輯扇區,不能讀取硬碟分區表L命令中所用的磁碟代碼A=00,B=01,C=02……*M[地址范圍][起始地址]數據傳送命令功能:把地址范圍內的存儲器單元的內容移到起始地址的指定地址中說明:傳送期間,源區和目標區可以部分重疊;傳送後源區域數據保持不變。例:-e1004142434445-d10010f08F1:0100414243444562626364--M100104110-d110L1F08F1:0100414243450A2119-200101200796879FABCDE……*N[盤號:][路徑][文件名][擴展名]功能:定義操作文件名。說明:可同時定義兩個操作文件,並將形成的文件控制塊相應的設置在內存CS:5C和CS:6C上,供以後的L和W命令操作之用。我們在運行程序偵錯時,在啟動DEBUG時在其後加文件程序名以及該程序的參數或運行文件,但當我們偵錯一段後,可能裝入其它文件來測試,這時我們可利用N命令來設置而無需退出DEBUG。例:A:\>DEBUGtan.exe-nyoug.pas當程序偵錯一段時間後,若要把tan.exe裝入tan1.pas則-ntanl.pas*O[埠地址][數據]輸出命令功能:發送位元組到指定的輸出埠。例:當我們遇到開機要求輸入口令時,可用如下方式取消-O7010_O7100*P[=地址][數據]進程命令功能:將一個子程序調用指令,循環指令,中斷指令或一個重復字元串指令,停止在下一條指令上。說明:在執行一條子程序調用指令,循環指令,中斷指令或一個重復字元串指令時,發出P命令去執行有關指令,並且返回到要執行的下一條指令。P命令和T一樣選用來跟蹤程序運行過程用的命令,我們可以在P命令中指定程序運行的起始地址,指令個數,如未指定則CS:IP所指定程序的地址開始一次運行一條令。P與T命令的差別在於P命令把CALL/INT當成一條指令來執行,簡化了跟蹤過程,P命令只運行RAM內存的命令,而T命令則可運行RAM和ROM里的程序。*Q退出命令。*R[寄存器]寄存器命令功能:一,顯示單個寄存器的內容,並提供修改功能。二,顯示所有寄存器內容,再加上字母標志位狀態以及要執行的下一條指令。三,顯示8個標志位狀態,並提供修改功能。若不想改變則回車即可。例:-rbxbx0050:51-rAX=0000BX=0051CX=0000SP=FFEEBP=0000SI=0000DI=0000DS=0003ES=0CD3SS=0CD3IP=0100NVUPEIPLNZNAOPNC0CD3:01000FDBOF若想改變標志寄存器,用-RF回車,則DEBUG會將標志內容顯示出來,若想改變任一標志,只要輸入該標志的名稱即可。標志名稱設置未設置標志名稱設置未設置滋出OV(未溢出)NV(未溢出)零位ZRNZ(不等於零)方向DN(減少)UP(增加)輔助進位ACNA(無進位)中斷EI(許可)DI(禁止)奇偶標志PE(偶)PO(奇)符號NG(負)PL(正)進位CYNC(清除進位)例:-RfNVUPEIPLNZNAPONC:-OVDI←輸入值*S[地址范圍][字元串]功能:在指定的地址范圍內查找給定的字元串。說明:用來指定在地址范圍內查找一個字元串,若找到則顯示其地址,否則直接顯示DEBUG提示符。隱含地址為DS段值。在此內存可以用(起始地址)(終止地址)或(起始地址)L(長度)的方式來表示,而字元串與數據行則可混合使用:如:02.76"BC"。例:-d100lof08F1:0100OF2A41430B314296-FFF0B98AF300B1..AC,1B-S100lof"AC"08F1:0102←表示找到,由0102開始,*T[=地址][指令條數]跟蹤命令功能:逐條跟蹤程序的執行,每條指令執行後都將顯示各寄存器的內容。說明:通常採用跟蹤一條指令,但用戶也可以用指令條數設定一次跟蹤多條指令,每執行一條指令之後,顯示所有寄存器的內容和標志狀態。逐條指令跟蹤-T[=起始地址]從指定地址起執行一條指令後停下來,顯示所有寄存器內容及標志位的值,如來指定地址則從當前CS:IP開始執行。A:\>DEBUG-A08F1:0100MOVDL,03H08F1:0102MOVAH,02H08F1:0104INT21H08F1:0106INT20H08F1:0108-TAX=0000BX=0000CX=0000DX=0000SP=FFEEBP=0000SI=0000DI=0000DS=08F1ES=08F1SS=08F1CS=08F11P=0105NVUPEIPLNZPOCY09F1:0102B402MOVAH,02若指定起始地址,則T命令會從指定的地址開始跟蹤,我們還可以指定跟蹤一次所運行指令的個數,用Ctrl+S暫停屏幕的顯示,以便觀察。-t=10010;由CS:100開始跟蹤10條指令*U[起始地址]或者[地址范圍]功能:將內存中的內容轉換為匯編語句。說明:反匯編的位元組數取決與用戶的系統顯示形式,以及在U命令中使用的可選項。(1)從指定地址開始編譯,反匯編32個位元組-U[地址]←從CS:100開始,其反匯編32個位元組如果地址被省略,則從一個U命令的最後一條指令的下一條單元開始匯編32個位元組。(2)對指定的存貯范圍進行反匯編-u起始地址終止地址(L長度)例:-U10010908F1:0100CD20INT2008F1:0102FF9F009ACALLFA12[BX+9A00]08F1:0106F0LOCK08F1:0107FE1DCALLFAR[DI]08F1:0109F0LOCK說明:如指定了范圍則整個范圍全都會被反編譯*W[地址][盤符:][起始扇區][扇區數]寫盤命令功能:將修改過的數據寫到磁碟上。說明:可以將指定內存地址開始的數據寫在磁碟上,可以在沒有指定參數,或指定地址參數的情況下,將調試文件寫在磁碟上。在運行W時需設置文件的大小CX或BX寄存器(1)把數據寫入磁碟的指定扇區-W起始地址驅動器名起始扇區扇區數(2)把數據寫入指定文件中-W起始地址例A:\>DEBUG-A08f1:0100..寫入程序段08F1:012A.-RCXCX:0000:2A←寫入位元組數,即為程序結尾地址減起始地址-ntan.com←設置文件名,需後綴為com-wWring002Abytes-qA:\>TAN←即可執行此程序*"XD"命令:釋放EMS內存例:-XD0001handle0001deallocatel←釋放了利用XD釋放後可再分配*"XM"命令;把擴充內存上的內存頁區映射到主內存區格式:XMRAM長頁碼主內存頁碼句柄例:-XM320001←把0001號句柄的第3號邏輯頁區映射到2號真實頁區*"XS"命令:顯示當前EMS使用情況。格式-XS實用debug命令集錦1.非物理0磁軌壞軟盤的修復此種損壞從軟盤盤面上來看並沒有明顯的劃傷和霉變。一般可以恢復其數據,也可是軟盤重新在利用。處理方法如下:ⅰ.進入debugⅱ.取一張引導區沒有損壞的好磁碟,插入軟碟機-l100001ⅲ.插入損壞的磁碟到軟碟機-w100001-q注意:好盤與壞盤容量必須相同2.物理0磁軌壞軟盤中的數據讀取對於0磁軌損壞的磁碟,一般來說是應該拋棄了,當你也不妨試一試已下方法:磁化處理:用較強的磁鐵在靠近壞磁碟的表面處反復移動,切不可碰到磁碟介質,以免劃傷表面,然後在試試格式化。軟盤換面:小心的將磁碟打開,堅磁片與金屬晶元分開,方面後再按原來的方法粘在一起即可,在重新格式化。diskfix:對於diskfix想必大家都用的比較多了,裡面的磁碟修復功能很好用的。能修復大多數磁碟表面錯誤。

『貳』 匯編語言debug 中 G命令怎麼用

g就是連續執行內存代碼,可以在g後面指定內存地址
如g=0000:0100,地址可以是偏移地址,也可以是邏輯地址。如不指定地址,g就會從指令指針ip指的內存處開始執行
g命令還可以指定執行斷點,如,g=0000:0100
0000:0200
就是代碼從100的內存地址執行到200的內存地址然後斷住

『叄』 gdb調試命令是什麼

gdb調試命令如下:

1、啟動gdb

$gdb

這樣可以和gdb進行交互了。

2、啟動gdb,並且分屏顯示源代碼

$gdb -tui

這樣,使用了'-tui'選項,啟動可以直接將屏幕分成兩個部分,上面顯示源代碼,比用list方便多了。這時候使用上下方向鍵可以查看源代碼,想要命令行使用上下鍵就用[Ctrl]n和[Ctrl]p。

3、啟動gdb調試指定程序app

$gdb app

這樣就在啟動gdb之後直接載入了app可執行程序,需要注意的是,載入的app程序必須在編譯的時候有gdb調試選項,例如'gcc -g app app.c',注意,如果修改了程序的源代碼,但是沒有編譯,那麼在gdb中顯示的會是改動後的源代碼,但是運行的是改動前的程序,這樣會導致跟蹤錯亂的。

4、啟動程序之後,再用gdb調試

$gdb <program> <PID>

這里,<program>是程序的可執行文件名,<PID>是要調試程序的PID.如果你的程序是一個服務程序,那麼你可以指定這個服務程序運行時的進程ID。gdb會自動attach上去,並調試他。program應該在PATH環境變數中搜索得到。

5、啟動程序之後,再啟動gdb調試

$gdb <PID>

這里,程序是一個服務程序,那麼你可以指定這個服務程序運行時的進程ID,<PID>是要調試程序的PID.這樣gdb就附加到程序上了,但是現在還沒法查看源代碼,用file命令指明可執行文件就可以顯示源代碼了。

『肆』 Debug狀態下,G命令與T命令有何區別

單步跟蹤命令-t命令: 在懷疑某一段程序的功能時,可以一條指令一條指令地執行,看看每一條指令的結果是否正確。 -t命令的格式是: t[=地址][值] [=地址]表示從哪個地方開始執行,[值]為執行的命令條數。 要想填入正確的地址和要跟蹤的命令數,應先使用-u命令察看內容。 單步執行命令 -p命令: 人們常將單步跟蹤命令稱作「單步進入(step in)」,而將單步執行命令稱作「單步通過(stepover)」。單步執行命令p與單步跟蹤命令t的區別在於對待call類命令的方式上。對於t命令,當碰到「call p1」命令時,單步跟蹤命令t會進入該進程,再一步步地執行;而單步執行命令p會按照一般程序執行,而不會進入子程序中。

『伍』 debug命令的使用

在Windows 95/98的環境中,打開命令窗口的步驟為:點擊「開始」→「運行」,輸入「command」命令; 在WindowsXP及WIN7的環境中,打開命令窗口的步驟為:點擊「開始」→「運行」,輸入「cmd」命令;

2.啟動DEBUG
在命令窗口中啟動DEBUG,啟動命令一般為:DEBUG [文件名] [參數表]。其中:文件名指定被調試的文件,其包括名和後綴,參數表是被調試文件運行時所需要的參數。被調試的文件可以是系統中的任何文件,但通常它們的 後綴為.EXE或.COM。 當DEBUG啟動成功後,將顯示連接符「-」,這時,可輸入各種DEBUG命令。DEBUG中所有命令及其含義如DEBUG各命令功能說明表 所示。 關於使用命令的幾點說明:在提示符「-」下才能輸入命令,在按「回車」鍵後,該命令才開始執行命令是單個字母,命令和參數的大小寫可混合輸入可用F1、 F2、F3、Ins、Del、左移鍵、右移鍵等編輯鍵來編輯本行命令當命令出現語法錯誤時,將在出錯位置顯示「^ Error」可用Ctrl+C或Ctrl+Break來終止當前命令的執行,還可用Ctrl+S或Ctrl+Num Lock來暫停屏幕顯示(當連續不斷地顯示信息時)
以下通過實現十九個示例來熟悉DEBUG的命令集和基本的匯編指令。

R命令的使用
R命令作用:觀看和修改寄存器的值。

在提示符「-」下輸入以下命令:R。DEBUG將會顯示出當前所有寄存器和標志位的狀態。

接下來再輸入命令RCX。在提示符「:」後輸入100。該命令的作用是將寄存器CX的值設置為100(注意:DEBUG使用的是十六進制,這里的100相當於十進制的256。)

最後再執行R命令,觀看修改後的寄存器值。

H命令的使用
H命令作用:計算兩個十六進制數的和與差。

在提示符「–」下輸入以下命令:H 10 1。觀看命令執行結果。

運行結果的前一個數是計算出來的和,後一個數是計算出來的差。計算結果均用十六進制形式表示。

『陸』 debug中 怎麼用g命令直接執行完程序

具體操作見圖



PS:若有不明白的地方,可以追問

『柒』 DEBUG G命令 是做什麼的

這個 在windows幫助里就有啊

Debug:g (go)運行當前在內存中的程序。使用不含參數的 g 將在 CS:IP 寄存器的當前地址處開始運行。

語法
g [=address] [breakpoints]

參數
address
對於當前位於存儲器中的程序,指定它開始運行的地址。
breakpoints
指定可以設置為 g 子命令的一部分的 1 到 10 個臨時斷點。
?
顯示 debug 子命令列表。
注釋
Windows XP 不使用該命令。使用它只是為了與 MS-DOS 文件兼容。
指定有效的 address 項
Address 是一個包含字母段記錄的二位名稱或一個四位欄位地址加上一個偏移量。可以忽略段寄存器或段地址。CS 是下列「調試」子命令的默認段:a、g、l、t、u 和 w。所有其它命令的默認段是 DS。所有數值均為十六進制格式。段名和偏移量之間必須包含冒號。有效地址如下:

CS:0100

04BA:0100

使用 address 參數
必須在 address 參數之前使用等號 (=),以區分 address 和斷點地址 (breakpoints)。

指定斷點
不論在 breakpoint 列表的什麼位置鍵入斷點,程序都將在第一個斷點處停止。Debug.exe 在每個斷點處用中斷代碼代替原始指令。

當程序到達斷點時,Debug.exe 將所有斷點地址恢復為它們的原始指令並顯示所有寄存器的內容、所有標志的狀態以及最後執行指令的解碼形式。Debug.exe 此時顯示的信息與使用 r (register) 子命令並指定斷點地址時相同。

如果不在斷點處停止程序,Debug.exe 將不使用原始指令替換中斷代碼。

可以只在包含 8086 操作代碼(操作碼)的第一個位元組的地址上設置斷點。如果設置了 10 個以上的斷點,Debug.exe 將顯示以下信息:

bp error

使用用戶堆棧指針
用戶堆棧指針必須有效且必須有 6 個可用於 g 子命令的位元組。g 子命令使用 iret 指令跳轉到需要測試的程序。Debug.exe 設置用戶堆棧指針並將用戶標志、代碼段寄存器和指令指針壓入用戶堆棧。(如果用戶堆棧無效或太小,操作系統可能會失敗。?Debug.exe 在指定的斷點地址處或指定的地址處放置中斷代碼 (0CCh)。

重新啟動程序
出現下述消息後,請不要重新啟動程序:

Program terminated normally

要正確地運行程序,必須通過使用 n (Name) 和 l (Load) 子命令重新載入該程序。

獲取使用 p 子命令來執行循環、重復的字元串指令、軟體中斷或子常式的信息,請參閱「相關主題」
獲取使用 t 子命令來執行一個指令的信息,請參閱「相關主題」
範例
要運行當前內存中的程序,並要執行到 CS 段中的斷點地址 7550 為止,請鍵入:

gcs:7550

Debug.exe 將顯示寄存器的內容和標志的狀態,然後終止 g 子命令。

要設置兩個斷點,請鍵入:

gcs:7550, cs:8000

如果在 Debug.exe 遇到某個斷點之後再次鍵入 g 子命令,則將從該斷點之後的指令開始執行,而不是在開始地址處執行。

『捌』 debug是什麼意思啊

DEBUG是計算機排除故障的意思,DEBUG在windows系統中也是極其重要的調試操作。

debug是一個dos實用程序,主要是供程序員來進行調試程序的工具,它可以檢查程序中存在的問題,可以精確到每一行代碼的正確性,在程序開發中有很大的作用。

Debug的特點

Debug把所有數據都當成位元組處理,因此可以用它檢查內存中任何地方的位元組以及修改任何地方的位元組。它可以用於逐指令執行某個程序以驗證程序運行的正確性,也可以在機器碼這個級別追蹤執行過程、比較一個指令執行前後的值以及比較與移動內存中數據的范圍,讀寫文件與磁碟扇區。

Debug在匯編語言中的應用非常廣泛,Debug的命令比較多,大約20多個,和匯編密切相關的有R命令、D命令、E命令、U命令、T命令、A命令等等。

『玖』 debug命令有什麼作用如何使用

DEBUG是為匯編語言設計的一種高度工具,它通過單步、設置斷點等方式為匯編語言程序員提供了非常有效的調試手段。
一、DEBUG程序的調用
在DOS的提示符下,可鍵入命令:
C:\DEBUG [D:][PATH][FILENAME[.EXT]][PARM1][PARM2]
其中,文件名是被調試文件的名字。如用戶鍵入文件,則DEBUG將指定的文件裝入存儲器中,用戶可對其進行調試。如果未鍵入文件名,則用戶可以用當前存儲器的內容工作,或者用DEBUG命令N和L把需要的文件裝入存儲器後再進行調試。命令中的D指定驅動器PATH為路徑,PARM1和PARM2則為運行被調試文件時所需要的命令參數。
在DEBUG程序調入後,將出現提示符,此時就可用DEBUG命令來調試程序。
二、DEBUG的主要命令
1、顯示存儲單元的命令D(DUMP),格式為:
_D[address]或_D[range]
例如,按指定范圍顯示存儲單元內容的方法為:
-d100 120
18E4:0100 c7 06 04 02 38 01 c7 06-06 02 00 02 c7 06 08 02 G...8.G.....G...
18E$:0110 02 02 bb 04 02 e8 02 00-CD 20 50 51 56 57 8B 37 ..;..h..M PQVW.
7
18E4:0120 8B
其中0100至0120是DEBUG顯示的單元內容,左邊用十六進製表示每個位元組,右邊用ASCII字元表示每個位元組,·表示不可顯示的字元。這里沒有指定段地址,D命令自動顯示DS段的內容。如果只指定首地址,則顯示從首地址開始的80個位元組的內容。如果完全沒有指定地址,則顯示上一個D命令顯示的最後一個單元後的內容。
2、修改存儲單元內容的命令有兩種。
·輸入命令E(ENTER),有兩種格式如下:第一種格式可以用給定的內容表來替代指定范圍的存儲單元內容。命令格式為:
-E address[list]
例如,-E DS:100 F3'XYZ'8D
其中F3,'X','Y','Z'和各佔一個位元組,該命令可以用這五個位元組來替代存儲單元DS:0100到0104的原先的內容。
第二種格式則是採用逐個單元相繼修改的方法。命令格式為:
-E address
例如,-E DS:100
則可能顯示為:
18E4:0100 89.-
如果需要把該單元的內容修改為78,則用戶可以直接鍵入78,再按「空格」鍵可接著顯示下一個單元的內容,如下:
18E4:0100 89.78 1B.-
這樣,用戶可以不斷修改相繼單元的內容,直到用ENTER鍵結束該命令為止。
·填寫命令F(FILL),其格式為:
-F range list
例如:-F 4BA:0100 5 F3'XYZ'8D
使04BA:0100~0104單元包含指定的五個位元組的內容。如果list中的位元組數超過指定的范圍,則忽略超過的項;如果list的位元組數小於指定的范圍,則重復使用list填入,直到填滿指定的所有單元為止。
3)檢查和修改寄存器內容的命令R(register),它有三種格式如下:
·顯示CPU內所有寄存器內容和標志位狀態,其格式為:
-R
例如,-r
AX=0000 BX=0000 CX=010A DX=0000 SP=FFFE BP=0000 SI=0000 DI=0000
DS=18E4 ES=18E4 SS=18E4 CS=18E4 IP=0100 NV UP DI PL NZ NA PO NC
18E4:0100 C70604023801 MOV WORD PTR [0204],0138 DS:0204=0000
·顯示和修改某個寄存器內容,其格式為:
-R register name
例如,鍵入
-R AX
系統將響應如下:
AX F1F4

即AX寄存器的當前內容為F1F4,如不修改則按ENTER鍵,否則,可鍵入欲修改的內容,如:

-R bx
BX 0369
:059F
則把BX寄存器的內容修改為059F。
·顯示和修改標志位狀態,命令格式為:
-RF系統將響應,如:
OV DN EI NG ZR AC PE CY-
此時,如不修改其內容可按ENTER鍵,否則,可鍵入欲修改的內容,如:
OV DN EI NG ZR AC PE CY-PONZDINV
即可,可見鍵入的順序可以是任意的。
4)運行命令G,其格式為:
-G[=address1][address2[address3…]]
其中,地址1指定了運行的起始地址,如不指定則從當前的CS:IP開始運行。後面的地址均為斷點地址,當指令執行到斷點時,就停止執行並顯示當前所有寄存器及標志位的內容,和下一條將要執行的指令。
5)跟蹤命令T(Trace),有兩種格式:
·逐條指令跟蹤
-T [=address]
從指定地址起執行一條指令後停下來,顯示所有寄存器內容及標志位的值。如未指定地址則從當前的CS:IP開始執行。
·多條指令跟蹤
-T [=address][value]
從指定地址起執行n條指令後停下來,n由value指定。
6)匯編命令A(Assemble),其格式為:
-A[address]
該命令允許鍵入匯編語言語句,並能把它們匯編成機器代碼,相繼地存放在從指定地址開始的存儲區中。必須注意:DEBUG把鍵入的數字均看成十六進制數,所以如要鍵入十進制數,則其後應加以說明,如100D。
7)反匯編命令U(Unassemble)有兩種格式。
·從指定地址開始,反匯編32個位元組,其格式為:
-U[address]
例如:
-u100
18E4:0100 C70604023801 MOV WORD PTR[0204],0138
18E4:0106 C70606020002 MOV WORD PTR[0206],0200
18E4:010C C70606020202 MOV WORD PTR[0208],0202
18E4:0112 BBO4O2 MOV BX,0204
18E4:0115 E80200 CALL 011A
18E4:0118 CD20 INT 20
18E4:011A 50 PUSH AX
18E4:011B 51 PUSH CX
18E4:011C 56 PUSH SI
18E4:011D 57 PUSH DI
18E4:011E 8B37 MOV SI,[BX]
如果地址被省略,則從上一個U命令的最後一條指令的下一個單元開始顯示32個位元組。
·對指定范圍內的存儲單元進行反匯編,格式為:
-U[range]
例如:
-u100 10c
18E4:0100 C70604023801 MOV WORD PTR[0204],0138
18E4:0106 C70606020002 MOV WORD PTR[0206],0200
18E4:010C C70606020202 MOV WORD PTR[0208],0202

-u100 112
18E4:0100 C70604023801 MOV WORD PTR[0204],0138
18E4:0106 C70606020002 MOV WORD PTR[0206],0200
18E4:010C C70606020202 MOV WORD PTR[0208],0202

可見這兩種格式是等效的。
8)命名命令N(Name),其格式為:
-N filespecs [filespecs]
命令把兩個文件標識符格式化在CS:5CH和CS:6CH的兩個文件控制塊中,以便在其後用L或W命令把文件裝入存檔。filespecs的格式可以是:
[d:][path] filename[.ext]
例如,
-N myprog
-L
-
可把文件myprog裝入存儲器。
9)裝入命令(Load),有兩種功能。
·把磁碟上指定扇區范圍的內容裝入到存儲器從指定地址開始的區域中。其格式為:
-L[address[drive sector sector]
·裝入指定文件,其格式為:
-L[address]
此命令裝入已在CS:5CH中格式化了文件控制塊所指定的文件。如未指定地址,則裝入CS:0100開始的存儲區中。
10)寫命令W(Write),有兩種功能。
·把數據寫入磁碟的指定扇區。其格式為:
-W address drive sector sector
·把數據寫入指定的文件中。其格式為:
-W[address]
此命令把指定的存儲區中的數據寫入由CS:5CH處的文件控制塊所指定的文件中。如未指定地址則數據從CS:0100開始。要寫入文件的位元組數應先放入BX和CX中。
11)退出DEBUG命令Q(Quit),其格式為:
-Q
它退出DEBUG,返回DOS。本命令並無存檔功能,如需存檔應先使用W命令。

閱讀全文

與debugg命令相關的資料

熱點內容
php我要自學網 瀏覽:200
a盤命令 瀏覽:706
日俄加密通話 瀏覽:660
linuxtee命令 瀏覽:53
pdf程序員找不到了 瀏覽:63
全球票房實時查詢 瀏覽:223
伺服器如何添加域用戶 瀏覽:271
java靜態static 瀏覽:227
程序員容易掉頭發嗎 瀏覽:333
python通用管理系統 瀏覽:204
apachephphtml 瀏覽:141
安慶智能雲伺服器找哪家 瀏覽:763
linuxtab輸入 瀏覽:932
小說網盤資源 瀏覽:504
全免費影視投屏網站 瀏覽:254
娘娘懷孕快生了忍著不生 瀏覽:804
git拉取代碼的命令 瀏覽:995
程序員節西安市 瀏覽:687
單片機的閃燈 瀏覽:969
phpmime映射 瀏覽:583