# (搜尋反組譯碼模式)

數字符號 (#) 命令會在反組譯碼中搜尋指定的模式。

# [Pattern] [Address [ L Size ]] 

參數

模式

指定要在反組譯碼中搜尋的模式。 模式 可以包含各種通配符和規範。 如需語法的詳細資訊,請參閱 字串通配符語法。 如果您想要在 Pattern 中包含空格,則必須以引號括住模式。 模式不區分大小寫。 如果您先前已使用 # 命令並省略 Pattern,命令會重複使用最近使用的模式。

位址

指定搜尋開始的位址。 如需語法的詳細資訊,請參閱 地址和地址範圍語法

大小

指定要搜尋的指示數目。 如果您省略 Size,搜尋會繼續直到發生第一個相符項目為止。

環境

項目 描述
模式 使用者模式、核心模式
目標 即時、損毀傾印
平台 全部

其他資訊

如需元件偵錯和相關命令的詳細資訊,請參閱 在元件模式中偵錯。

備註

如果您先前使用 # 命令,並省略 Address,則搜尋會從上一個搜尋結束的位置開始。

此命令的運作方式是搜尋所指定模式的反組譯文字。 您可以使用此命令來尋找快取器名稱、常數或任何其他出現在反組譯輸出中的字串。 您可以重複命令,而不使用 Address 參數來尋找模式的連續出現次數。

您可以使用 u (Unassemble) 命令,或使用 WinDbg 中的 [ 反組 譯碼] 視窗來檢視反組譯碼指示。 反組譯碼顯示最多包含四個部分:位址位移、二進位程式代碼、元件語言助記鍵和元件語言詳細數據。 下列範例顯示可能的顯示。

0040116b    45          inc         ebp            
0040116c    fc          cld                        
0040116d    8945b0      mov         eax,[ebp-0x1c] 

#此命令可以在反組譯碼顯示的任何單一部分內搜尋文字。 例如,您可以使用 #eax 0040116b 來尋找 mov eax,[ebp-0x1c] 位址為 0040116d 的指示。 下列命令也會尋找此指示。

#  [ebp?0x  0040116b 
#  mov  0040116b 
#  8945*  0040116b 
#  116d  0040116b 

不過,您無法 mov eax* 搜尋為單一單位,因為 mov 和 eax 出現在顯示器的不同部分。 請改用 mov*eax

作為其他範例,您可以發出下列命令,在進入點主要之後搜尋 strlen 函式的第一個參考。

# strlen main

同樣地,您可以發出下列兩個命令,在位址0x779F9FBA之後尋找第一個 jnz 指令,然後在之後尋找下一個 jnz 指令。

# jnz 779f9fba# 

當您省略 PatternAddress 時,其值會以先前的命令用法 # 為基礎。 如果您在第一次發出 # 命令時省略任一參數,則不會執行任何搜尋。 不過,即使在此情況下, 模式位址 的值也會初始化。

如果您包含 PatternAddress,其值會設定為輸入的值。 如果您省略 Address,它會初始化為程式計數器的目前值。 如果您省略 Pattern,則會將其初始化為空白模式。