共用方式為


DBH 命令

從 DBH 命令列,您可以使用各種命令來分析符號和符號檔。

下表列出控制 DBH 選項並執行其他基本工作的命令。

Command 效果

verbose [on|off]

開啟或關閉詳細資訊模式。 沒有參數,會顯示目前的詳細資訊模式設定。

慰問 [路徑]

設定符號搜尋路徑。 沒有參數,會顯示目前的符號搜尋路徑。

symopt 選項

symopt +Options

symopt -Options

symopt

設定符號選項。 沒有 +-,Options 的值會取代目前的符號選項。 如果使用 +-Options 會指定要加入或移除的選項;在 或 之前-+必須有空格,但之後沒有空格。 如果沒有參數,則會顯示目前的符號選項。 啟動 DBH 時,所有符號選項的預設值都會0x10C13。 如需可用選項的清單,請參閱 設定符號選項

說明

顯示 DBH 命令的說明文字。

退出

結束 DBH 程式。

下表列出載入、卸除和重新基底目標模組的命令。 如果 DBH 是在命令列上指定進程標識碼來啟動,則無法使用這些命令。

Command 效果

載入檔案

載入指定的模組。 檔案 應該指定可執行檔或符號檔的路徑、檔名和擴展名。

卸載

卸除目前的模組。

基位址

將預設基位址設定為指定的值。 所有符號地址都會決定相對於這個基位址。

下表列出搜尋檔案和顯示目錄資訊的命令。

Command 效果

findexe 檔案路徑

使用 FindExecutableImage 例程,在指定的路徑中找出指定的可執行檔。

finddbg 檔案路徑

在指定的路徑中找出指定的 .dbg 檔案。 包含 .dbg 擴充功能是選擇性的。

dir 檔案路徑

使用 EnumDirTree 例程,找出指定路徑或此路徑下任何子目錄中的指定檔案。

srchtree 路徑檔案

使用 SearchTreeForFile 例程,找出指定路徑或此路徑下任何子目錄中的指定檔案。 此命令與 dir 相同,不同之處在於參數會反轉。

ffpath 檔案

在目前符號路徑中尋找指定的檔案。

下表列出剖析模組清單並控制預設模組的命令。 默認模組及其基地址會顯示在 DBH 提示字元上。

Command 效果

mod 位址

將預設模組變更為具有指定基位址的模組。

刷新

重新整理模組清單。

omap

顯示模組 OMAP 結構。

epmod PID

列舉為指定進程載入的所有模組。 PID 會指定所需進程的進程標識碼。

資訊

顯示目前載入模組的相關信息。

obj Mask

列出與預設模組相關聯的所有物件檔案,該模組符合指定的模式。 遮罩 可能包含各種通配符和規範;如需詳細資訊,請參閱 字元串通配符語法

src Mask

列出與預設模組相關聯的所有來源檔案,該模組符合指定的模式。 遮罩 可能包含各種通配符和規範;如需詳細資訊,請參閱 字元串通配符語法

enummod

列舉所有載入的模組。 除非 DBH 在沒有目標的情況下執行,否則一律至少有一個模組,在此情況下沒有。

下表列出顯示及搜尋符號的命令。

Command 效果

列舉模組!象徵

列舉符合指定模組和符號的所有符號。 Module 指定要搜尋的模組(不含擴展名)。 符號 會指定符號必須包含的模式。 模組和符號都可能包含各種通配符和規範;如需詳細資訊,請參閱字串通配符語法

enumaddr 位址

列舉與指定地址相關聯的所有符號。

addr Address

顯示與指定地址相關聯之符號的詳細資訊。

名稱 [Module]象徵

顯示指定符號的詳細資訊。 可包含選擇性 的Module 規範。 不應使用通配符,因為如果多個符號符合模式, 則名稱 只會顯示其中一個。

下一個 [Module]象徵

下一個位址

顯示指定符號或地址之後下一個符號的詳細資訊。 如果符號是以名稱指定,可能會包含選擇性 的Module 規範,但不應使用通配符。

上一頁 [Module]象徵

上一個位址

顯示指定符號或位址前一個符號的詳細資訊。 如果符號是以名稱指定,可能會包含選擇性 的Module 規範,但不應使用通配符。

line File#LineNum

顯示與指定之來源行相關聯的二進位指令十六進位位址,以及與此行相關聯的任何符號。 同時將目前的行號設定為等於指定的行號。 檔案 會指定原始程式檔的名稱,而 LineNum 會指定該檔案內的行號;這些應該以數位符號 ( # ) 分隔。

srclines File LineNum

顯示與指定之來源行相關聯的物件檔,以及與這一行相關聯之二進位指令的十六進位位址。 不會變更目前的行號。 檔案 會指定原始程式檔的名稱,而 LineNum 會指定該檔案內的行號;這些應該以空格分隔。

laddr 位址

顯示對應至指定位址之符號的來源檔案和行號。

linenext

遞增目前的行號,並顯示新行號的相關信息。

lineprev

遞減目前的行號,並顯示新行號的相關信息。

locals 函式 [Mask]

顯示指定函式中包含的所有局部變數。 如果 包含Mask ,則只會顯示符合指定模式的局部變數;如需詳細資訊,請參閱 字串通配符語法

typeName

顯示指定數據類型的詳細資訊。 TypeName 會指定數據類型的名稱(例如 WSTRING)。 如果沒有類型名稱符合這個值,則會顯示任何相符的符號。 與大部分 DBH 命令參數不同, TypeName 區分大小寫。

elines [Source [Obj]]

列舉符合指定來源遮罩和物件遮罩的所有來源行。 Source 會指定原始程式檔的名稱,包括絕對路徑和擴展名。 Obj 指定物件檔的名稱,包括相對路徑和擴展名。 Source 和 Obj 都可能包含各種通配符和規範;如需詳細資訊,請參閱字串通配符語法。 如果省略參數,這相當於使用星號 () 通配符。 如果您不想指定路徑資訊,請在檔名前面加上 </strong> 來表示通配符路徑。

索引

顯示具有指定索引值之符號的詳細資訊。

範圍位址

範圍 [Module]象徵

顯示指定符號之父代的詳細資訊。 符號可以透過位址或名稱來指定。

srch [mask=Symbol] [index=Index] [tag=Tag] [addr=Address] [globals]

搜尋符合指定遮罩的所有符號。 符號 會指定符號名稱。 它不應該包含模組名稱,但可能包含通配符和規範;如需詳細資訊,請參閱 字串通配符語法Index 會指定要做為搜尋父代之符號的十六進位位址。 標記 會指定必須符合符號的十六進位符號類型分類器 (SymTagXxx) 值。 Address 指定符號的位址。 如果 包含全域, 則只會顯示全域符號。

uw 位址

在指定的地址顯示函式的回溯資訊。

dtag

顯示所有符號類型分類器 (SymTagXxx) 值。

etypes

列舉所有數據類型。

dump

顯示目標檔案中所有符號資訊的完整清單。

下表列出與符號伺服器和符號存放區相關的命令。

Command 效果

home [Path]

設定 SymSrv 和 SrcSrv 針對預設下游存放區所使用的主目錄。 如果符號路徑包含使用預設下游存放區之符號伺服器的參考,則 主目錄的符號 子目錄將會用於下游存放區。 沒有參數, home 會顯示目前的主目錄。

srvpath 路徑

測試指定的路徑是否為符號存放區的路徑。

srvind 檔案

尋找對應至指定檔案的符號伺服器索引。 符號伺服器索引是以檔案內容為基礎的唯一值,不論它是否真的已新增至任何符號存放區。 檔案 應該指定所需檔案的檔名和絕對路徑。

fii 檔案

顯示指定之二進位檔及其相關聯檔案的符號伺服器索引。

getfile 檔案索引

顯示具有指定名稱和符號伺服器索引的檔案。 檔案 會指定所需檔案的名稱;這不應包含其路徑。 Index 指定所需檔案的符號伺服器索引。 DBH 會使用 SymFindFileInPath 例程來搜尋目前符號路徑下具有此名稱和此索引之檔案的樹狀結構。

sup path File1 File2

根據參數的值,將檔案儲存在符號存放區中。 路徑 會指定符號存放區的目錄路徑。 File1File2 是用來建立差異值,接著用來判斷要儲存的檔案。

storeadd 檔案存放區

將指定的檔案加入指定的符號存放區。 Store 應該是符號存放區的根路徑。

下表列出適用於真實和虛構符號的 DBH 命令。

Command 效果

undec 名稱

顯示附加至指定符號名稱之裝飾的意義。 名稱 可以是任何字串;它不需要對應至目前載入的符號。 如果 Name 包含C++裝飾,則會顯示這些裝飾的意義。

新增名稱位址大小

將指定的虛數符號加入至 DBH 中載入的符號清單。 Name 會指定要加入的符號名稱、 Address 指定其十六進位位址,以及 以位元組為單位調整 其十六進位大小。 在稍後的 DBH 命令中,這會像任何其他符號一樣處理,直到 DBH 工作階段以結束除,或直到使用 del 刪除虛構符號為止。不會改變實際的目標符號檔。

del Name

del Address

刪除先前使用 add 命令新增的虛數符號。 符號可以依名稱或位址指定。 這無法用來刪除實際符號。