WinDbg / SOS: Wie man verwaltete Threads vom! threads-Befehl mit System.Threading.Thread-Instanzen korreliert

8

Mit WinDbg und SOS habe ich folgendes:

%Vor%

Meine Frage lautet: Wie kann ich feststellen, welche Instanzen von System.Threading.Thread auf dem Heap welchen tatsächlich ausgeführten verwalteten Threads entsprechen?

Aktualisiert: Dies ist Debuggen einer .NET 1.1-Anwendung. In dieser Version bekomme ich diese Ausgabe von! DumpObj

%Vor%     
Chris Dickson 06.01.2011, 15:32
quelle

2 Antworten

3

Ich sehe jetzt, dass der Wert des DONT_USE_InternalThread -Feldes meines System.Threading.Thread -Objekts das dezimale Äquivalent des Hexadezimalwerts ist, der unter der Überschrift ThreadOBJ in der !threads -Ausgabe erscheint.

    
Chris Dickson 06.01.2011, 16:40
quelle
9

Der verwaltete Thread hat eine Membervariable m_ManagedThreadId

%Vor%

Die m_ManagedThreadID entspricht der "ID" in der! threads-Ausgabe

%Vor%

Und hier ist ein einfaches Skript, um das verwaltete Thread-Objekt und seine ID auszugeben

%Vor%

Hier ist die Ausgabe von oben .foreach

%Vor%     
Naveen 06.01.2011 16:02
quelle

Tags und Links