Debug忽略.exe文件的地址address參數(shù)。如果指定.exe文件,Debug將文件重新定位到.exe文件的標(biāo)題中指定的加載地址。在.exe文件被加載到內(nèi)存前,標(biāo)題自身從.exe文件脫離,因此磁盤上的.exe文件大小與內(nèi)存中的不同。如果要檢查整個.exe文件,請使用不同的擴(kuò)展名重命名文件。 打開十六進(jìn)制文件Debug將具有.hex擴(kuò)展名的文件認(rèn)為十六進(jìn)制格式文件。鍵入不帶參數(shù)的l命令,可以加載從十六進(jìn)制文件中指定的地址處開始的十六進(jìn)制文件。如果鍵入的l命令包含address參數(shù),Debug將把指定的地址加到在十六進(jìn)制文件中找到的地址上,以確定起始地址。 Debug:M(移動)將一個內(nèi)存塊中的內(nèi)容復(fù)制到另一個內(nèi)存塊中。
參數(shù)range 指定要復(fù)制內(nèi)容的內(nèi)存區(qū)域的起始和結(jié)束地址,或起始地址和長度。 address 指定要將range內(nèi)容復(fù)制到該位置的起始地址。
范例假定鍵入以下命令:
Debug首先將CS:110地址中的內(nèi)容復(fù)制到地址CS:510中,然后將CS:10F地址中的內(nèi)容復(fù)制到CS:50F中,如此操作直至將CS:100地址中的內(nèi)容復(fù)制到地址CS:500中。要查看結(jié)果,請使用Debugd(轉(zhuǎn)儲)命令,并使用m命令指定目標(biāo)地址。 說明復(fù)制操作對現(xiàn)有數(shù)據(jù)的影響如果新數(shù)據(jù)沒有寫入正在被復(fù)制的數(shù)據(jù)塊中的地址,則源數(shù)據(jù)將保持不變。但是,如果目標(biāo)塊已經(jīng)包含數(shù)據(jù)(就象它在覆蓋副本操作中一樣),則將改寫該數(shù)據(jù)。(覆蓋復(fù)制操作是指那些目標(biāo)數(shù)據(jù)塊部分內(nèi)容覆蓋原數(shù)據(jù)塊部分內(nèi)容的操作。) 執(zhí)行覆蓋復(fù)制操作m命令執(zhí)行目標(biāo)地址的覆蓋復(fù)制操作,而不丟失數(shù)據(jù)。將改寫的地址內(nèi)容首先復(fù)制。因此,如果將較高位地址的數(shù)據(jù)復(fù)制到較低位地址,則復(fù)制操作從原塊的最低位地址開始并向最高位地址進(jìn)行。反之,如果要將數(shù)據(jù)從低地址復(fù)制到高地址,復(fù)制操作從原塊的最高地址開始,向最低地址進(jìn)行。 Debug:N(名稱)指定Debugl(加載)或w(寫入)命令的可執(zhí)行文件的名稱,或者指定正在調(diào)試的可執(zhí)行文件的參數(shù)。
|
|