Condividi tramite


!avrf

L'estensione !avrf controlla le impostazioni di Application Verifier e visualizza un'ampia gamma di output prodotti da Application Verifier .

    !avrf
    !avrf -vs { Length | -a Address }
    !avrf -hp { Length | -a Address }
    !avrf -cs { Length | -a Address }
    !avrf -dlls [ Length ]
    !avrf -trm
    !avrf -ex [ Length ] 
    !avrf -threads [ ThreadID ]
    !avrf -tp [ ThreadID ]
    !avrf -srw  [ Address | Address Length ] [ -stats ]
    !avrf -leak  [ -m ModuleName] [ -r ResourceType] [ -a Address ] [ -t ]
    !avrf -trace TraceIndex 
    !avrf -cnt
    !avrf -brk [BreakEventType]  
    !avrf -flt [EventType Probability] 
    !avrf -flt break EventType 
    !avrf -flt stacks Length 
    !avrf -trg [ Start End | dll Module | all ] 
    !avrf -settings 
    !avrf -skp [ Start End | dll Module | all | Time ] 

Parametri

-vs { Length | -a Address }
Visualizza il log operazioni dello spazio virtuale. Length specifica il numero di record da visualizzare, a partire dall'elemento più recente. L'indirizzo specifica l'indirizzo virtuale. Vengono visualizzati i record delle operazioni virtuali che contengono questo indirizzo virtuale.

-hp { Length | -a Address }
Visualizza il log operazioni dell'heap. Address specifica l'indirizzo dell'heap. Vengono visualizzati i record delle operazioni heap che contengono questo indirizzo heap.

-cs { Length | -a Address }
Visualizza il log di eliminazione della sezione critica. Length specifica il numero di record da visualizzare, a partire dall'elemento più recente. Address specifica l'indirizzo della sezione critica. I record per la sezione critica specifica vengono visualizzati quando si specifica Address .

-dlls [ Lunghezza ]
Visualizza il log di caricamento/scaricamento della DLL. Length specifica il numero di record da visualizzare, a partire dall'elemento più recente.

-trm
Visualizza un log di tutti i thread terminati e sospesi.

-ex [ Lunghezza ]
Visualizza il log delle eccezioni. Application Verifier tiene traccia di tutte le eccezioni nell'applicazione.

-threads [ ThreadID ]
Visualizza informazioni sui thread nel processo di destinazione. Per i thread figlio, vengono visualizzati anche le dimensioni dello stack e i flag CreateThread specificati dall'elemento padre. Se si specifica un ID thread, vengono visualizzate solo le informazioni relative al thread.

-tp [ ThreadID ]
Visualizza il log del pool di thread. Questo log contiene tracce dello stack per varie operazioni, ad esempio la modifica della maschera di affinità thread, la modifica della priorità del thread, la registrazione dei messaggi di thread e l'inizializzazione o l'inizializzazione di COM dall'interno del callback del pool di thread. Se si specifica un ID thread, vengono visualizzate solo le informazioni relative al thread.

-srw [ Address Address | Length ] [ -stats ]
Visualizza il log Slim Reader/Writer (SRW). Se si specifica Address, vengono visualizzati i record per il blocco SRW in tale indirizzo. Se si specifica Address e Length, vengono visualizzati i record per i blocchi SRW in tale intervallo di indirizzi. Se si include l'opzione -stats , vengono visualizzate le statistiche di blocco SRW.

-leak [ -m ModuleName] [ -r ResourceType] [ -a Address ] [ -t ]
Visualizza il log delle risorse in sospeso. Queste risorse possono essere o meno perdite in un determinato momento. Se si specifica Modulename (inclusa l'estensione), vengono visualizzate tutte le risorse in sospeso nel modulo specificato. Se si specifica ResourceType, vengono visualizzate tutte le risorse in sospeso del tipo di risorsa. Se si specifica Indirizzo, vengono visualizzati i record delle risorse in sospeso con tale indirizzo. ResourceType può essere uno dei seguenti:

Heap: visualizza le allocazioni dell'heap usando le API heap Win32

Locale: visualizza allocazioni locali/globali

CRT: visualizza le allocazioni usando le API CRT

Virtuale: visualizza le prenotazioni virtuali

BSTR: visualizza le allocazioni BSTR

Registro di sistema: viene visualizzata la chiave del Registro di sistema

Risparmio energia: visualizza gli oggetti di notifica alimentazione

Handle: visualizza allocazioni di thread, file e handle di eventi

-trace TraceIndex Visualizza una traccia dello stack per l'indice di traccia specificato. Alcune strutture usano questo numero di indice a 16 bit per identificare un'analisi dello stack. Questo indice punta a una posizione all'interno del database di analisi dello stack.

-cnt Visualizza un elenco di contatori globali.

-brk [ BreakEventType ] Specifica un evento di interruzione. BreakEventType è il numero di tipo dell'evento di interruzione. Per un elenco di tipi possibili e un elenco delle impostazioni degli eventi di interruzione correnti, immettere !avrf -brk.

-flt [ EventType Probability ] Specifica un'iniezione di errore. EventType è il numero di tipo dell'evento. La probabilità è la frequenza con cui l'evento avrà esito negativo. Può essere un numero intero compreso tra 0 e 1.000.000 (0xF4240). Se si immette !avrf -flt senza parametri aggiuntivi, vengono visualizzate le impostazioni correnti di inserimento degli errori.

-flt break EventType fa sì che Application Verifier si interrompa nel debugger ogni volta che questo errore, specificato da EventType, viene inserito.

-flt stacks Length Consente di visualizzare il numero di lunghezze delle tracce dello stack per le operazioni di errore più recenti inserite.

-trg [ Start End | dll Module | all ] Specifica un intervallo di destinazione. Start è l'indirizzo iniziale dell'intervallo di destinazione. End è l'indirizzo finale dell'intervallo di destinazione. Module specifica il nome (incluso l'estensione .exe o .dll, ma non include il percorso) di un modulo di destinazione. Se si immette -trg all, tutti gli intervalli di destinazione vengono reimpostati. Se si immette -trg senza parametri aggiuntivi, vengono visualizzati gli intervalli di destinazione correnti.

-skp [ Start End | dll Module | all | Time ] Specifica un intervallo di esclusione. Start è l'indirizzo iniziale dell'intervallo di esclusione. End è l'indirizzo finale dell'intervallo di esclusione. Module specifica il nome di un modulo da specificare come destinazione o escludere. Module specifica il nome (incluso l'estensione .exe o .dll, ma non include il percorso) di un modulo da escludere. Se si immette -skp all, vengono reimpostati tutti gli intervalli di destinazione o gli intervalli di esclusione. Se si immette unvalore time , tutti gli errori vengono eliminati per Time milliseconds after execution resumes (Tempo millisecondi dopo la ripresa dell'esecuzione).

DLL

exts.dll

Informazioni aggiuntive

Per informazioni su come scaricare e installare Application Verifier e la relativa documentazione, vedere Application Verifier.

Osservazioni:

Quando l'estensione !avrf viene usata senza parametri, vengono visualizzate le opzioni correnti di Application Verifier. Se è stata abilitata l'opzione Heap pagina completa o Heap riempimento veloce, vengono visualizzate anche le informazioni sugli heap di pagina attivi. Per alcuni esempi, vedere "Log operazioni heap" in Debug degli arresti dell'applicazione di verifica.

Se si è verificato un arresto dell'applicazione, l'estensione !avrf senza parametri rivelerà la natura dell'arresto e della relativa causa. Per alcuni esempi, vedere Debug degli arresti dell'applicazione.

Se mancano simboli per ntdll.dll e verifier.dll, l'estensione !avrf genera un messaggio di errore. Per informazioni su come risolvere questo problema, vedere "Installazione e installazione del debugger" in Debug degli arresti dell'applicazione di verifica.