SOS-Debugerweiterung (SOS.dll)
Die SOS-Debugerweiterung (SOS.dll) stellt Informationen über die interne Common Language Runtime-Umgebung (CLR) bereit und hilft Ihnen so beim Debuggen von verwalteten Anwendungen im WinDbg.exe-Debugger und in Visual Studio.
![command] [options]
Befehle
Befehl | Beschreibung |
---|---|
BPMD [<module name> <method name>] [-md <MethodDesc>] |
Erstellt einen Haltepunkt bei der angegebenen Methode im angegebenen Modul. Wenn das angegebene Modul und die angegebene Methode nicht geladen wurden, wartet dieser Befehl auf eine Benachrichtigung darüber, dass das Modul geladen wurde und die JIT-Kompilierung (Just-in-Time) stattgefunden hat, bevor ein Haltepunkt erstellt wurde. |
CLRStack [-a] [-l] [-p] |
Stellt eine Stapelüberwachung ausschließlich für verwalteten Code bereit. Die -p-Option zeigt Argumente zur verwalteten Funktion an. Die -l-Option zeigt Informationen zu lokalen Variablen in einem Rahmen an. Da die SOS-Debugerweiterung keine lokalen Namen abrufen kann, hat die Ausgabe für lokale Namen das Format <local address> = <value>. Die Option -a (alles) kann als Kurzform für die Kombination -l und -p verwendet werden. Die SOS-Debugerweiterung zeigt auf x64- und IA-64-basierten Plattformen keine Übergangsrahmen an. |
COMState |
Listet das COM-Apartmentmodell für jeden Thread und einen Context-Zeiger auf, falls verfügbar. |
DumpArray [-start <startIndex>] [-length <length>] [-details] [-nofields] <array object address> – oder – DA [-start <startIndex>] [-length <length>] [-detail] [-nofields] array object address> |
Überprüft Elemente eines Arrayobjekts. Die -start-Option gibt den Startindex an, ab dem Elemente angezeigt werden sollen. Die -length-Option gibt an, wie viele Elemente angezeigt werden sollen. Die -detail-Option zeigt Details des Elements mithilfe des DumpObj-Formats und des DumpVC-Formats an. Die -nofields-Option verhindert, dass Arrays angezeigt werden. Diese Option steht nur dann zur Verfügung, wenn die -detail-Option angegeben wurde. |
DumpAssembly <Assembly address> |
Zeigt Informationen zu einer Assembly an. Mit dem Befehl DumpAssembly werden mehrere Module aufgelistet, wenn diese vorhanden sind. Sie können mit dem DumpDomainBefehl eine Assemblyadresse abrufen. |
DumpClass <EEClass address> |
Zeigt Informationen zu der einem Typ zugeordneten EEClass-Struktur an. Mit dem Befehl DumpClass werden Werte für statische Felder, jedoch nicht für nicht statische Felder angezeigt. Verwenden Sie die Befehle DumpMT, DumpObj, Name2EE oder Token2EE, um eine EEClass-Strukturadresse abzurufen. |
DumpDomain [<Domain address>] |
Listet jedes innerhalb der angegebenen AppDomain-Objektadresse geladene Assembly-Objekt auf. Wenn er ohne Parameter aufgerufen wird, listet der Befehl DumpDomain alle AppDomain-Objekte in einem Prozess auf. |
DumpHeap [-stat] [-min <size>][-max <size>] [-thinlock] [-mt <MethodTable address>] [-type <partial type name>][start [end]] |
Zeigt Informationen zum Garbage Collector-Heap und Auflistungsstatistiken zu Objekten an. Mit dem Befehl DumpHeap wird bei übermäßiger Fragmentierung im Garbage Collector-Heap eine Warnung angezeigt. Die -stat-Option beschränkt die Ausgabe auf eine nach Objekttypen geordnete Zusammenfassung. Die -min-Option ignoriert Objekte, die kleiner als der in Bytes angegebene size-Parameter sind. Die -max-Option ignoriert Objekte, die größer als der in Bytes angegebene size-Parameter sind. Die -thinlock-Option meldet ThinLocks. Weitere Informationen finden Sie unter den Informationen zum Befehl SyncBlk. Die -mt-Option listet nur die Objekte auf, die den Angaben in der MethodTable-Struktur entsprechen. Die -type-Option listet nur die Objekte auf, deren Typname eine Teilzeichenfolge der angegebenen Zeichenfolge ist. Der start-Parameter startet die Auflistung bei der angegebenen Adresse. Der end-Parameter stoppt die Auflistung bei der angegebenen Adresse. |
DumpIL [<DynamicMethod address>] [<DynamicMethodDesc address>] [<MethodDesc address>] |
Zeigt die Intermediate Language (IL) an, die einer verwalteten Methode zugeordnet ist. Beachten Sie, dass die dynamische IL anders ausgegeben wird, als die aus einer Assembly geladene IL. Die dynamische IL verweist eher auf Objekte in einem verwalteten Objektarray als auf Metadatentoken. |
DumpLog [<Filename>] |
Schreibt den Inhalt eines speicherresidenten Belastungsprotokolls in die angegebene Datei. Wenn Sie keinen Namen angeben, erstellt dieser Befehl die Datei Stresslog.txt im aktuellen Verzeichnis. Die Common Language Runtime bietet ein speicherresidentes Belastungsprotokoll, mit dem Sie Belastungsfehler diagnostizieren können. Mithilfe dieses Protokolls können Sie Fehler diagnostizieren, ohne Sperren oder E/A zu verwenden. Um das Belastungsprotokoll zu aktivieren, legen Sie folgende Registrierungsschlüssel unter HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework fest: (DWORD) StressLog = 1 (DWORD) LogFacility = 0xffffffff (DWORD) StressLogSize = 65536 |
DumpMD <MethodDesc address> |
Zeigt Informationen zu einer MethodDesc-Struktur bei der angegebenen Adresse an. Sie können den Befehl IP2MD verwenden, um die MethodDesc-Strukturadresse von einer verwalteten Funktion abzurufen. |
DumpMT [-MD] <MethodTable address> |
Zeigt Informationen zu einer Methodentabelle bei der angegebenen Adresse an. Wenn die -MD-Option angegeben wird, wird eine Liste aller mit dem Objekt definierten Methoden angezeigt. Jedes verwaltete Objekt enthält einen Methodentabellenzeiger. |
DumpMethodSig <sigaddr> <moduleaddr> |
Zeigt Informationen zu einer MethodSig-Struktur bei der angegebenen Adresse an. |
DumpModule [-mt] <Module address> |
Zeigt Informationen zu einem Modul an der angegebenen Adresse an. Die -mt-Option zeigt die in einem Modul definierten Typen und die Typen an, auf die vom Modul verwiesen wird. Sie können die Befehle DumpDomain oder DumpAssembly verwenden, um die Adresse eines Moduls abzurufen. |
DumpObj <object address> – oder – DO <object address> |
Zeigt Informationen zu einem Objekt bei der angegebenen Adresse an. Der Befehl DumpObj zeigt die Felder, die EEClass-Strukturinformationen, die Methodentabelle und die Größe des Objekts an. Sie können den Befehl DumpStackObjects verwenden, um die Adresse eines Objekts abzurufen. Beachten Sie, dass Sie den Befehl DumpObj für Felder vom Typ CLASS ausführen können, da diese auch Objekte sind. |
DumpRuntimeTypes |
Zeigt die Objekte vom Typ CLR im Garbage Collector-Heap an und listet die dazugehörigen Typnamen und Methodentabellen auf. |
DumpStack [-EE] [top stack [bottom stack]] |
Zeigt eine Stapelüberwachung an. Die -EE-Option bewirkt, dass der Befehl DumpStack nur verwaltete Funktionen anzeigt. Verwenden Sie die Parameter top und bottom, um die auf x86-Plattformen angezeigten Stapelrahmen einzuschränken. Auf x86-Plattformen wird mit dem Befehl DumpStack eine ausführliche Stapelüberwachung erstellt. Auf x64- und IA-64-basierten Plattformen imitiert der Befehl DumpStack den Befehl K des Debuggers. Die Parameter top und bottom werden auf x64- und IA-64-basierten Plattformen ignoriert. |
DumpSig <sigaddr> <moduleaddr> |
Zeigt Informationen zu einer Sig-Struktur bei der angegebenen Adresse an. |
DumpStackObjects [-verify] [top stack [bottom stack]] – oder – DSO [-verify] [top stack [bottom stack]] |
Zeigt alle innerhalb der Grenzen des aktuellen Stapels gefundenen verwalteten Objekte an. Die -verify-Option überprüft jedes nicht statische CLASS-Feld eines Objektfelds. Verwenden Sie den Befehl DumpStackObject mit Stapelüberwachungsbefehlen, z. B. dem Befehl K und dem Befehl CLRStack, um die Werte lokaler Variablen und Parameter zu bestimmen. |
DumpVC <MethodTable address> <Address> |
Zeigt Informationen zu den Feldern einer Wertklasse bei der angegebenen Adresse an. Der MethodTable-Parameter ermöglicht es dem Befehl DumpVC, Felder korrekt zu interpretieren. Wertklassen verfügen nicht über eine Methodentabelle als erstes Feld. |
EEHeap [-gc] [-loader] |
Zeigt Informationen zu dem von den internen Common Language Runtime-Datenstrukturen verwendeten Prozessspeicher an. Die -gc-Option und die -loader-Option begrenzen die Ausgabe dieses Befehls auf Garbage Collector- oder Ladeprogrammdatenstrukturen. In den Informationen zum Garbage Collector werden die Bereiche jedes Segments im verwalteten Heap aufgelistet. Wenn der Zeiger innerhalb eines von EEHeap -gc angegebenen Segmentbereichs liegt, ist der Zeiger ein Objektzeiger. |
EEStack [-short] [-EE] |
Führt den Befehl DumpStack auf allen Threads im Prozess aus. Die -EE-Option wird direkt an den Befehl DumpStack übergeben. Der -short-Parameter beschränkt die Ausgabe auf die folgenden Arten von Threads:
|
EEVersion |
Zeigt die Version der Common Language Runtime an. |
EHInfo [<MethodDesc address>] [<Code address>] |
Zeigt die Ausnahmebehandlungsblöcke in einer angegebenen Methode an. Mit diesem Befehl werden die Codeadressen und Codeoffsets für den clause-Block (den try-Block) und den handler-Block (den catch-Block) angezeigt. |
FinalizeQueue [-detail] |
Zeigt alle Objekte an, die für die Finalisierung registriert sind. Die -detail-Option zeigt zusätzliche Informationen zu allen SyncBlocks und zu allen RuntimeCallableWrappers (RCWs) an, die auf die Bereinigung warten. Beide Datenstrukturen werden zwischengespeichert und durch den Finalizerthread bereinigt. |
FindAppDomain <Object address> |
Bestimmt die Anwendungsdomäne eines Objekts bei der angegebenen Adresse. |
GCHandles [-perdomain] |
Zeigt Statistiken über Garbage Collector-Handles im Prozess an. Durch das Übergeben der -perdomain-Option werden die Statistiken nach Anwendungsdomäne sortiert. Verwenden Sie den Befehl GCHandles, um nach von Garbage Collector-Handleverlusten verursachten Speicherverlusten zu suchen. Ein Speicherverlust tritt beispielsweise auf, wenn Code ein großes Array beibehält, da ein starkes Garbage Collector-Handle noch darauf zeigt, und das Handle verworfen wird, ohne dass es freigegeben wurde. |
GCHandleLeaks |
Durchsucht den Speicher nach Verweisen auf starke und fixierte Garbage Collector-Handles im Prozess und zeigt die Ergebnisse an. Wenn ein Handle gefunden wird, zeigt der Befehl GCHandleLeaks die Adresse des Verweises an. Wenn ein Handle nicht im Speicher gefunden wird, zeigt dieser Befehl eine Benachrichtigung an. |
GCInfo <MethodDesc address> <Code address> |
Zeigt Daten an, die angeben, ob Register oder Stapelspeicherorte verwaltete Objekte enthalten. Wenn eine Garbage Collection durchgeführt wird, muss der Garbage Collector die Speicherorte von Verweisen auf Objekte kennen, sodass sie mit neuen Objektzeigerwerten aktualisiert werden können. |
GCRoot [-nostacks] <Object address> |
Zeigt Informationen zu Verweisen auf ein Objekt (oder Stämme eines Objekts) bei der angegebenen Adresse an. Der Befehl GCRoot überprüft den gesamten verwalteten Heap und die Handletabelle nach Handles innerhalb anderer Objekte und Handles auf dem Stapel. Dann wird in jedem Stapel und auch in der Finalizerwarteschlange nach Zeigern auf Objekte gesucht. Mit diesem Befehl wird nicht bestimmt, ob ein Stapelkopf gültig ist oder verworfen wird. Mit den Befehlen CLRStack und U disassemblieren Sie den Stapel, zu dem der lokale Wert oder der Argumentwert gehört, um zu bestimmen, ob der Stapelkopf noch in Verwendung ist. Die -nostacks-Option beschränkt die Suche auf Garbage Collector-Handles und freachable-Objekte. |
help [<command>] [<faq>] |
Zeigt alle verfügbaren Befehle an, wenn kein Parameter festgelegt wurde, oder zeigt detaillierte Hilfeinformationen zum angegebenen Befehl an. Der faq-Parameter zeigt Antworten auf häufig gestellte Fragen an. |
IP2MD <Code address> |
Zeigt die MethodDesc-Struktur bei der angegebenen Adresse in Code an, der gerade JIT-kompiliert (Just-In-Time) wurde. |
MinidumpMode [0] [1] |
Verhindert die Ausführung von unsicheren Befehlen, wenn ein Minidump verwendet wird. Übergeben Sie 0, um dieses Feature zu deaktivieren, oder übergeben Sie 1, um dieses Feature zu aktivieren. Standardmäßig ist der MinidumpMode-Wert auf 0 festgelegt. Minidumps, die mit dem Befehl .dump /m oder dem Befehl .dump erstellt wurde, enthalten eingeschränkte CLR-spezifische Daten und ermöglichen es Ihnen nur, eine Teilmenge der SOS-Befehle korrekt auszuführen. Manche Befehle können mit unerwarteten Fehlern fehlschlagen, da erforderliche Speicherbereiche nicht oder nur teilweise zugeordnet sind. Diese Option schützt Sie davor, unsichere Befehle gegen Minidumps auszuführen. |
Name2EE <module name> <type or method name> – oder – Name2EE <module name>!<type or method name> |
Zeigt die MethodTable-Struktur und die EEClass-Struktur für den angegebenen Typ oder die angegebene Methode im angegebenen Modul an. Das angegebene Modul muss in den Prozess geladen werden. Um den richtigen Typnamen abzurufen, durchsuchen Sie das Modul mit dem MSIL Disassembler-Tool (Ildasm.exe). Sie können auch * als module name-Parameter übergeben, um alle geladenen verwalteten Module zu durchsuchen. Der module name-Parameter kann auch der Name des Debuggers für ein Modul sein, z. B. Dieser Befehl unterstützt die Windows-Debuggersyntax <module>!<type>. Der Typ muss ein vollqualifizierter Typ sein. |
ObjSize [<Object address>] |
Zeigt die Größe des angegebenen Objekts an. Wenn keine Parameter angegeben sind, werden mit dem Befehl ObjSize die Größe aller in verwalteten Threads gefundenen Objekte, alle Garbage Collector-Handles im Prozess sowie die Gesamtgröße aller Objekte, auf die diese Handles zeigen, angezeigt. Der Befehl ObjSize schließt die Größe aller untergeordneten Objekte zusätzlich zum übergeordneten Element ein. |
PrintException [-nested] [<Exception object address>] – oder – PE [-nested] [<Exception object address>] |
Zeigt Felder aller Objekte, die von der Exception-Klasse bei der angegebenen Adresse abgeleitet werden, und formatiert Felder dieser Objekte. Wenn Sie keine Adresse angeben, zeigt der Befehl PrintException die letzte Ausnahme an, die im aktuellen Thread ausgelöst wurde. Die -nested-Option zeigt Details zu geschachtelten Ausnahmeobjekten an. Sie können diesen Befehl verwenden, um das _stackTrace-Feld zu formatieren und anzuzeigen, bei dem es sich um ein binäres Array handelt. |
ProcInfo [-env] [-time] [-mem] |
Zeigt Umgebungsvariablen für den Prozess, die Kernel-CPU-Zeit und die Speicherauslastungsstatistiken an. |
RCWCleanupList <RCWCleanupList address> |
Zeigt die Liste der Runtime Callable Wrappers, die auf Bereinigung warten, bei der angegebenen Adresse an. |
SaveModule <Base address> <Filename> |
Schreibt ein Abbild, das bei der angegebenen Adresse in den Speicher geladen wird, in die angegebene Datei. |
StopOnException [-derived] [-create | -create2] <Exception> <Pseudo-register number> |
Bewirkt, dass der Debugger bei Auslösung der angegebenen Ausnahme unterbricht, bei Auslösung aller anderen Ausnahmen jedoch weiter ausgeführt wird. Die -derived-Option fängt die angegebene Ausnahme und jede Ausnahme ab, die von der angegebenen Ausnahme abgeleitet wird. |
SyncBlk [-all | <syncblk number>] |
Zeigt die angegebene SyncBlock-Struktur oder alle SyncBlock-Strukturen an. Wenn Sie keine Argumente übergeben, zeigt der Befehl SyncBlk die SyncBlock-Struktur an, die Objekten entspricht, die sich im Besitz eines Threads befinden. Eine SyncBlock-Struktur ist ein Container für zusätzliche Informationen, die nicht für jedes Objekt erstellt werden müssen. Sie kann COM-Interop-Daten, Hashcodes und Sperreninformationen für threadsichere Operationen enthalten. |
ThreadPool |
Zeigt Informationen zum verwalteten Threadpool an, darunter die Anzahl der Arbeitsanforderungen in der Warteschlange, die Anzahl der Threads zum "Abhören" des Completion Ports und die Anzahl der Timer. |
Token2EE <module name> <token> |
Verwandelt das angegebene Metadatentoken im angegebenen Modul in eine MethodTable-Struktur oder MethodDesc-Struktur. Sie können * für den module name-Parameter übergeben, um herauszufinden, welchem Element dieses Token in jedem geladenen verwalteten Modul zugeordnet ist. Sie können auch den Namen des Debuggers für ein Modul übergeben, z. B. |
Threads [-live] [-special] |
Zeigt alle verwalteten Threads im Prozess an. Der Befehl Threads zeigt die Kurzform der Debugger-ID, die Thread-ID der Common Language Runtime und die Thread-ID des Betriebssystems an. Zusätzlich wird durch den Befehl Threads die Spalte Domäne angezeigt, die die Anwendungsdomäne angibt, in der ein Thread ausgeführt wird, die Spalte APT, die den COM-Apartmentmodus anzeigt, und eine Spalte Ausnahme, in der die letzte im Thread ausgelöste Ausnahme angezeigt wird. Die -live-Option zeigt Threads an, die zu einem aktiven Thread gehören. Die -special-Option zeigt alle von der CLR erstellten besonderen Threads an. Zu den besonderen Threads gehören Garbage Collection-Threads (in der gleichzeitigen GC und der Server-GC), Hilfsthreads des Debuggers, Finalizerthreads, AppDomain-Entladungsthreads und Zeitgeberthreads des Threadpools. |
TraverseHeap [-xml] <filename> |
Schreibt Heapinformationen in die angegebene Datei in einem Format, das vom CLR-Profiler verstanden wird. Die -xml-Option bewirkt, dass der Befehl TraverseHeap die Datei als XML-Datei formatiert. Sie können den CLR-Profiler hier downloaden: https://www.microsoft.com/downloads/details.aspx?familyid=86CE6052-D7F4-4AEB-9B7A-94635BEEBDDA |
U [-gcinfo] [-ehinfo] <MethodDesc address> | <Code address> |
Zeigt eine kommentierte Disassembly einer verwalteten Methode an, die durch einen MethodDesc-Strukturzeiger für die Methode oder durch eine Codeadresse im Methodentext angegeben wird. Durch den Befehl U wird die Methode vom Anfang bis zum Ende mit Kommentaren angezeigt, die Metadatentoken in Namen umwandeln. Die -gcinfo-Option bewirkt, dass der Befehl U die GCInfo-Struktur für die Methode anzeigt. Die -ehinfo-Option zeigt Ausnahmeinformationen für die Methode an. Sie können diese Informationen auch mit dem Befehl EHInfo abrufen. |
VerifyHeap |
Überprüft den Garbage Collector-Heap auf Anzeichen von Beschädigung und zeigt alle gefundenen Fehler an. Heapbeschädigungen können von Plattformaufrufen verursacht werden, die nicht korrekt erstellt wurden. |
VMMap |
Durchläuft den virtuellen Adressenbereich und zeigt den Typ des Schutzes an, der auf jeden Bereich angewendet wird. |
VMStat |
Bietet eine Zusammenfassungsansicht des virtuellen Adressbereichs, geordnet nach allen Arten des Schutzes für den Speicher (frei, reserviert, zugesichert, privat, zugeordnet, Abbild). Die Spalte TOTAL zeigt das Ergebnis der Spalte AVERAGE multipliziert mit der Spalte BLK COUNT an. |
Hinweise
Sie können die SOS-Debugerweiterung verwenden, indem Sie sie in WinDbg.exe Debugger oder in Visual Studio 2005 oder einer früheren Version von Visual Studio laden. Sie können Befehle innerhalb von WinDgb.exe oder innerhalb des Direktfensters von Visual Studio ausführen.
Die SOS-Debugerweiterung ermöglicht es Ihnen, Informationen zu Code anzuzeigen, der in der Common Language Runtime ausgeführt wird. Sie können zum Beispiel die SOS-Debugerweiterung verwenden, um Informationen zum verwalteten Heap anzuzeigen, nach Heapbeschädigungen zu suchen, interne Datentypen anzuzeigen, die von der CLR verwendet werden, und um Informationen zu jeglichem verwalteten Code anzuzeigen, der innerhalb der CLR ausgeführt wird.
Laden der SOS-Debugerweiterung
Um die SOS-Debugerweiterung im WinDbg.exe-Debugger zu laden, führen Sie den folgenden Befehl im Tool aus. Wenn Sie die SOS-Debugerweiterung in Visual Studio laden möchten, führen Sie beim Debuggen den folgenden Befehl im Direktfenster aus:
.loadby sos
Sie müssen nicht verwaltetes Debuggen in den Projekteinstellungen Ihrer Lösung aktivieren, bevor Sie die SOS-Debugerweiterung laden können. Für einige Sprachen ist nicht verwaltetes Debuggen standardmäßig deaktiviert.
Hinweis Um das Direktfenster in Visual Studio 2005 anzuzeigen, klicken Sie auf das Menü Debuggen, anschließend auf das Menü Windows und dann auf die Option Direktfenster. Sie können das Direktfenster in Visual Studio auch öffnen, indem Sie die Tastenkombination STRG-ALT-I verwenden.
WinDbg.exe und Visual Studio verwenden eine Version von SOS.dll, die der derzeit verwendeten Version von Mscorwks.dll entspricht. In .NET Framework, Versionen 1.1 und 2.0, wird SOS.dll in demselben Verzeichnis wie Mscorwks.dll installiert. Standardmäßig sollten Sie die Version von SOS.dll verwenden, die der aktuellen Version von Mscorwks.dll entspricht.
Wenn Sie eine Dumpdatei verwenden möchten, die auf einem anderen Computer erstellt wurde, vergewissern Sie sich, dass sich die Datei Mscorwks.dll, die mit dieser Installation geliefert wurde, in Ihrem Symbolpfad befindet, und laden Sie dann die entsprechende Version von SOS.dll.
Um eine bestimmte Version von SOS.dll zu laden, geben Sie im Windows-Debugger den folgenden Befehl ein:
.load <full path to sos.dll>
Beispiele
Der folgende Befehl zeigt den Inhalt eines Arrays bei der Adresse 00ad28d0
an. Die Anzeige beginnt beim zweiten Element und wird für fünf Elemente fortgesetzt.
!dumparray -start 2 -length 5 -detail 00ad28d0
Der folgende Befehl zeigt den Inhalt einer Assembly bei der Adresse 1ca248
an.
!dumpassembly 1ca248
Der folgende Befehl zeigt Informationen zum Garbage Collector-Heap an.
!dumpheap
Der folgende Befehl schreibt den Inhalt des speicherresidenten Belastungsprotokolls in die Datei Stresslog.txt
im aktuellen Verzeichnis.
!DumpLog
Der folgende Befehl zeigt die MethodDesc-Struktur bei der Adresse 902f40
an.
!dumpmd 902f40
Der folgende Befehl zeigt Informationen zu einem Modul bei der Adresse 1caa50
an.
!dumpmodule 1caa50
Der folgende Befehl zeigt Informationen zu einem Objekt bei der Adresse a79d40
an.
!DumpObj a79d40
Der folgende Befehl zeigt die Felder einer Wertklasse bei der Adresse 00a79d9c
an, wobei die Methodentabelle bei der Adresse 0090320c
verwendet wird.
!DumpVC 0090320c 00a79d9c
Der folgende Befehl zeigt den vom Garbage Collector verwendeten Prozessspeicher an.
!eeheap -gc
Der folgende Befehl zeigt alle Objekte an, für die Finalisierung geplant ist.
!finalizequeue
Der folgende Befehl bestimmt die Anwendungsdomäne eines Objekts bei der Adresse 00a79d98
.
!findappdomain 00a79d98
Der folgende Befehl zeigt alle Garbage Collector-Handles im aktuellen Prozess an.
!gcinfo 5b68dbb8
Mit dem folgenden Befehl werden die MethodTable-Struktur und die EEClass-Struktur für die Main
-Methode in der Klasse MainClass
im Modul unittest.exe
angezeigt.
!name2ee unittest.exe MainClass.Main
Der folgende Befehl zeigt Informationen zum Metadatentoken bei der Adresse 02000003
im Modul unittest.exe
an.
!token2ee unittest.exe 02000003