Freigeben über


!avrf

Die Erweiterung !avrf steuert die Einstellungen von Application Verifier und zeigt eine Vielzahl von Ausgaben an, die von Application Verifier erzeugt werden.

    !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 ] 

Parameter

-vs { Length | -a Address }
Zeigt das Betriebsprotokoll des virtuellen Raums an. Length gibt die Anzahl der anzuzeigenden Datensätze an, beginnend mit dem neuesten. Address gibt die virtuelle Adresse an. Es werden die Datensätze der virtuellen Vorgänge angezeigt, die diese virtuelle Adresse enthalten.

-hp { Length | -a Address }
Zeigt das Protokoll der Heap-Vorgänge an. Address gibt die Heap-Adresse an. Es werden die Datensätze der Heap-Vorgänge angezeigt, die diese Heap-Adresse enthalten.

-cs { Length | -a Address }
Zeigt das Löschprotokoll des kritischen Abschnitts an. Length gibt die Anzahl der anzuzeigenden Datensätze an, beginnend mit dem neuesten. Address gibt die Adresse des kritischen Abschnitts an. Datensätze für den jeweiligen kritischen Abschnitt werden angezeigt, wenn Address angegeben ist.

-dlls [ Länge ]
Zeigt das Protokoll zum Laden/Entladen der DLL an. Length gibt die Anzahl der anzuzeigenden Datensätze an, beginnend mit dem neuesten.

-trm
Zeigt ein Protokoll aller beendeten und angehaltenen Threads an.

-ex [ Länge ]
Zeigt das Ausnahmeprotokoll an. Application Verifier verfolgt alle Ausnahmen in der Anwendung nach.

-threads [ ThreadID ]
Zeigt Informationen über Threads im Zielprozess an. Für untergeordnete Threads werden auch die Stapelgröße und die vom übergeordneten Thread angegebenen CreateThread-Flags angezeigt. Wenn Sie eine Thread-ID angeben, werden nur Informationen zu diesem Thread angezeigt.

-tp [ ThreadID ]
Zeigt das Threadpool-Protokoll an. Dieses Protokoll enthält Stapelspuren für verschiedene Vorgänge wie das Ändern der Threadaffinitätsmaske, das Ändern der Threadpriorität, das Senden von Threadmeldungen und das Initialisieren oder Deinitialisieren von COM innerhalb des Threadpool-Rückrufs. Wenn Sie eine Thread-ID angeben, werden nur Informationen zu diesem Thread angezeigt.

-srw [ Adresslänge | ] [ -stats ]
Zeigt das Slim Reader/Writer-Protokoll (SRW) an. Wenn Sie Address angeben, werden Datensätze für die SRW-Sperre an dieser Adresse angezeigt. Wenn Sie Address und Length angeben, werden Datensätze für SRW-Sperren in diesem Adressbereich angezeigt. Wenn Sie die Option -stats angeben, wird die SRW-Sperrstatistik angezeigt.

-leak [ -m ModuleName] [ -r ResourceType] [ -a Address ] [ -t ]
Zeigt das Protokoll der ausstehenden Ressourcen an. Diese Ressourcen können zu einem bestimmten Zeitpunkt undicht sein, müssen es aber nicht. Wenn Sie Modulename (einschließlich der Erweiterung) angeben, werden alle ausstehenden Ressourcen im angegebenen Modul angezeigt. Wenn Sie ResourceType angeben, werden alle ausstehenden Ressourcen dieses Ressourcentyps angezeigt. Wenn Sie Address angeben, werden Datensätze von ausstehenden Ressourcen mit dieser Adresse angezeigt. ResourceType kann eine der folgenden Angaben sein:

Heap: Zeigt Heap-Zuordnungen mit Win32-Heap-APIs an

Local: Zeigt lokale/globale Zuordnungen an

CRT: Zeigt Zuordnungen mit CRT-APIs an

Virtual: Zeigt virtuelle Reservierungen an

BSTR: Zeigt BSTR-Zuordnungen an

Registry: Zeigt an, dass der Registrierungsschlüssel geöffnet ist

Power: Zeigt Objekte zur Stromversorgungsmeldung an

Handle: Zeigt Thread-, Datei- und Ereignis-Handle-Zuordnungen an

-trace TraceIndex Zeigt eine Stapelablaufverfolgung für den angegebenen Ablaufverfolgungsindex an. Einige Strukturen verwenden diese 16-Bit-Indexnummer, um eine Stapelüberwachung zu identifizieren. Dieser Index verweist auf einen Ort innerhalb der Stapelüberwachungsdatenbank.

-cnt Zeigt eine Liste der globalen Zähler an.

-brk [ BreakEventType ] Gibt ein Unterbrechungsereignis an. BreakEventType ist die Typnummer des Unterbrechungsereignisses. Eine Liste der möglichen Typen sowie eine Liste der aktuellen Einstellungen für Unterbrechungsereignisse finden Sie unter !avrf -brk.

-flt [ EventType-Wahrscheinlichkeit ] Gibt eine Fehlereinfügung an. EventType ist die Typnummer des Ereignisses. Probability gibt die Häufigkeit an, mit der das Ereignis fehlschlägt. Dies kann eine beliebige ganze Zahl zwischen 0 und 1.000.000 (0xF4240) sein. Wenn Sie !avrf -flt ohne zusätzliche Parameter eingeben, werden die aktuellen Einstellungen für die Fault Injection angezeigt.

-flt break EventType bewirkt, dass Application Verifier jedes Mal, wenn dieser Fehler, der durch EventType angegeben wird, in den Debugger umgebrochen wird.

-flt stacks Length Displays Length Number of stack traces for the most recent fault-injected operations.

-trg [ Start End | dll Module | all ] Gibt einen Zielbereich an. Start ist die Anfangsadresse des Zielbereichs. End ist die Endadresse des Zielbereichs. Module gibt den Namen (einschließlich der EXE- oder DLL-Erweiterung, aber ohne den Pfad) eines Zielmoduls an. Wenn Sie -trg all eingeben, werden alle Zielbereiche zurückgesetzt. Wenn Sie -trg ohne zusätzliche Parameter eingeben, werden die aktuellen Zielbereiche angezeigt.

-skp [ Start End | dll-Modul | alle | Time ] Gibt einen Ausschlussbereich an. Start ist die Anfangsadresse des Ausschlussbereichs. End ist die Endadresse des Ausschlussbereichs. Module gibt den Namen eines Moduls an, das ausgewählt oder ausgeschlossen werden soll. Module gibt den Namen (einschließlich der EXE- oder DLL-Erweiterung, aber ohne den Pfad) eines auszuschließenden Moduls an. Wenn Sie -skp all eingeben, werden alle Zielbereiche oder Ausschlussbereiche zurückgesetzt. Wenn Sie einenTime-Wert eingeben, werden alle Fehler für Time Millisekunden nach Wiederaufnahme der Ausführung unterdrückt.

DLL

exts.dll

Zusätzliche Informationen

Informationen zum Herunterladen und Installieren von Application Verifier und der zugehörigen Dokumentation finden Sie unter Application Verifier.

Hinweise

Wenn die Erweiterung !avrf ohne Parameter verwendet wird, zeigt sie die aktuellen Optionen von Application Verifier an. Wenn die Option Full page heap oder Fast fill heap aktiviert wurde, werden auch Informationen über aktive Seitenheaps angezeigt. Einige Beispiele finden Sie unter „Heap-Vorgangsprotokolle“ in Debuggen von Application Verifier-Stopps.

Wenn ein Application Verifier-Stopp aufgetreten ist, zeigt die Erweiterung !avrf ohne Parameter die Art des Stopps und seine Ursache an. Einige Beispiele finden Sie unter Debuggen von Application Verifier-Stopps.

Wenn Symbole für „ntdll.dll“ und „verifier.dll“ fehlen, generiert die Erweiterung !avrf eine Fehlermeldung. Informationen zur Behebung dieses Problems finden Sie unter „Installation und Einrichtung des Debuggers“ in Debuggen von Application Verifier-Stopps.