# (Cercare il modello di disassemblaggio)

Il comando number sign (#) cerca il modello specificato nel codice disassembly.

# [Pattern] [Address [ L Size ]] 

Parametri

Modello

Specifica il modello da cercare nel codice disassembly. Il modello può contenere un'ampia gamma di caratteri jolly e identificatori. Per altre informazioni sulla sintassi, vedere Sintassi con caratteri jolly stringa. Se si desidera includere spazi in Pattern, è necessario racchiudere il modello tra virgolette. Il modello non è distinzione tra maiuscole e minuscole. Se in precedenza è stato usato il # comando e si omette Pattern, il comando riutilizza il modello usato più di recente.

Indirizzo

Specifica l'indirizzo in cui inizia la ricerca. Per altre informazioni sulla sintassi, vedere Sintassi indirizzo e intervallo di indirizzi.

Size

Specifica il numero di istruzioni da cercare. Se si omette Dimensione, la ricerca continua fino a quando non si verifica la prima corrispondenza.

Ambiente

Elemento Descrizione
Modalità Modalità utente, modalità kernel
Targets Dump live, arresto anomalo
Piattaforme Tutti

Informazioni aggiuntive

Per altre informazioni sul debug degli assembly e sui comandi correlati, vedere Debug in modalità assembly.

Commenti

Se in precedenza è stato usato il # comando e si omette Indirizzo, la ricerca inizia dove è terminata la ricerca precedente.

Questo comando funziona cercando il testo smontato per il modello specificato. È possibile usare questo comando per trovare nomi, costanti o qualsiasi altra stringa visualizzata nell'output di disassembly. È possibile ripetere il comando senza il parametro Address per trovare occorrenze successive del modello.

È possibile visualizzare le istruzioni di disassembly usando il comando u (Unassemble) o usando la finestra Disassembly in WinDbg. La visualizzazione del disassembly contiene fino a quattro parti: Offset degli indirizzi, Codice binario, Linguaggio assembly mnemonic e Dettagli del linguaggio assembly. Nell'esempio seguente viene illustrato un possibile display.

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

Il # comando può cercare testo all'interno di qualsiasi singola parte della visualizzazione disassembly. Ad esempio, è possibile usare # eax 0040116b per trovare l'istruzione all'indirizzo mov eax,[ebp-0x1c] 0040116d. I comandi seguenti trovano anche questa istruzione.

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

Tuttavia, non è possibile cercare mov eax* come singola unità, perché mov e eax appaiono in diverse parti del display. Usare invece mov*eax.

Come esempio aggiuntivo, è possibile eseguire il comando seguente per cercare il primo riferimento alla funzione strlen dopo il punto di ingresso principale.

# strlen main

Analogamente, è possibile eseguire i due comandi seguenti per trovare la prima istruzione jnz dopo l'indirizzo 0x779F9FBA e quindi trovare l'istruzione jnz successiva dopo.

# jnz 779f9fba# 

Quando si omette Pattern o Address, i relativi valori si basano sull'uso precedente del # comando. Se si omette un parametro la prima volta che si esegue il # comando, non viene eseguita alcuna ricerca. Tuttavia, i valori di Pattern e Address vengono inizializzati anche in questa situazione.

Se si include Pattern o Address, il relativo valore è impostato sul valore immesso. Se si omette Indirizzo, viene inizializzato nel valore corrente del contatore del programma. Se si omette Pattern, viene inizializzato in un modello vuoto.