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% 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.
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%