Share via


DBH 命令

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

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

命令 效果

verbose [on|off]

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

愛心 [路徑]

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

symopt選項

symopt +Options

symopt -Options

symopt

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

說明

顯示 DBH 命令的解說文字。

退出

結束 DBH 程式。

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

命令 效果

載入檔案

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

卸載

卸載目前的模組。

位址

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

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

命令 效果

findexe檔案路徑

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

finddbg檔案路徑

在指定的路徑中找出指定的 .dbg 檔案。 包含 .dbg 延伸模組是選擇性的。

dir檔案路徑

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

srchtree路徑檔案

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

ffpath檔案

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

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

命令 效果

modAddress

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

刷新

重新整理模組清單。

omap

顯示模組 OMAP 結構。

epmodPID

列舉針對指定進程載入的所有模組。 PID 會指定所需進程的進程識別碼。

info

顯示目前載入模組的相關資訊。

objMask

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

srcMask

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

enummod

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

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

命令 效果

列舉模組象徵

列舉符合指定模組和符號的所有符號。 模組 會指定要在沒有副檔名) 的情況下搜尋 (模組。 Symbol 指定符號必須包含的圖樣。 模組符號可能包含各種萬用字元和規範;如需詳細資訊,請參閱字串萬用字元語法

enumaddrAddress

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

addrAddress

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

名稱 [Module]象徵

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

下一個 [模組]象徵

下一個位址

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

上一個 [模組]象徵

上一個位址

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

lineFile#LineNum

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

srclinesFile LineNum

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

laddrAddress

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

布建

遞增目前的行號,並顯示新行號的相關資訊。

lineprev

遞減目前的行號,並顯示新行號的相關資訊。

locals函式 [Mask]

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

typeTypeName

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

elines [Source [Obj]]

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

索引

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

範圍位址

範圍 [Module]象徵

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

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

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

uw位址

顯示位於指定位址之函式的回溯資訊。

dtag

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

etypes

列舉所有資料類型。

dump

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

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

命令 效果

home [Path]

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

srvpath路徑

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

srvind檔案

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

fii檔案

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

getfile檔案索引

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

suppath File1 File2

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

storeadd檔案存放區

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

下表列出適用于實數和虛數符號的 DBH 命令。

命令 效果

undecName

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

新增名稱位址大小

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

delName

delAddress

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