WinDbg और एसओएस का उपयोग के साथ, मैं निम्नलिखित है आदेश:WinDbg/एसओएस: से प्रबंधित धागे सहसंबंधी कैसे धागे System.Threading.Thread उदाहरणों
0:011> !threads
ThreadCount: 7
UnstartedThread: 0
BackgroundThread: 4
PendingThread: 0
DeadThread: 2
PreEmptive GC Alloc Lock
ID ThreadOBJ State GC Context Domain Count APT Exception
0 618 0015b350 20 Enabled 00000000:00000000 0017b720 0 Ukn
2 624 0016f508 b220 Enabled 00000000:00000000 0017b720 0 MTA (Finalizer)
9 e48 001c13d0 1220 Enabled 00000000:00000000 0017b720 0 Ukn
10 e8c 048c6a40 1800220 Enabled 00c296a8:00c2ab44 0017b720 0 MTA (Threadpool Worker) System.NullReferenceException
XXX 0 00224138 1820 Enabled 00000000:00000000 0017b720 0 MTA
XXX 0 001d5b50 1820 Enabled 00000000:00000000 0017b720 0 Ukn
11 564 00166318 1800220 Enabled 00c2cf30:00c2eb44 0017b720 0 MTA (Threadpool Worker)
0:011> !dumpheap -type System.Threading.Thread
Address MT Size
00b16478 79bba7a4 60
00b41a7c 79bca7ac 28
00b41a98 79bba7a4 60
00b41ecc 79bba7a4 60
00bf1e20 79bca7ac 28
00bf1e3c 79bba7a4 60
00c03b34 79bca7ac 28
00c03b50 79bba7a4 60
total 8 objects
Statistics:
MT Count TotalSize Class Name
79bca7ac 3 84 System.Threading.ThreadStart
79bba7a4 5 300 System.Threading.Thread
Total 8 objects
मेरे सवाल यह है: मैं कैसे जो उदाहरणों निर्धारित कर सकते हैं सिस्टम का। थ्रेडिंग। ढेर पर पढ़ें, प्रबंधित धागे वास्तव में निष्पादित करने के अनुरूप है।
अपडेटेडः यह एक .NET 1.1 एप्लिकेशन डिबग कर रहा है। इस संस्करण में मैं से इस तरह उत्पादन प्राप्त करें! DumpObj
0:000> !dumpobj 00b16478
Name: System.Threading.Thread
MethodTable 0x79bba7a4
EEClass 0x79bba9d4
Size 60(0x3c) bytes
mdToken: 020000ec (c:\windows\microsoft.net\framework\v1.1.4322\mscorlib.dll)
FieldDesc*: 79bbaa38
MT Field Offset Type Attr Value Name
79bba7a4 4000337 4 CLASS instance 00000000 m_Context
79bba7a4 4000338 8 CLASS instance 00000000 m_LogicalCallContext
79bba7a4 4000339 c CLASS instance 00000000 m_IllogicalCallContext
79bba7a4 400033a 10 CLASS instance 00000000 m_Name
79bba7a4 400033b 14 CLASS instance 00000000 m_ExceptionStateInfo
79bba7a4 400033c 18 CLASS instance 00000000 m_Delegate
79bba7a4 400033d 1c CLASS instance 00000000 m_PrincipalSlot
79bba7a4 400033e 20 CLASS instance 00000000 m_ThreadStaticsBuckets
79bba7a4 400033f 24 CLASS instance 00000000 m_ThreadStaticsBits
79bba7a4 4000340 28 CLASS instance 00000000 m_CurrentCulture
79bba7a4 4000341 2c CLASS instance 00000000 m_CurrentUICulture
79bba7a4 4000342 30 System.Int32 instance 2 m_Priority
79bba7a4 4000343 34 System.Int32 instance 1422160 DONT_USE_InternalThread
79bba7a4 4000344 0 CLASS shared static m_LocalDataStoreMgr
>> Domain:Value 0017b720:00b162e8 <<
उत्तर के लिए धन्यवाद। मैंने सोचा कि यह ऐसा कुछ होना चाहिए। हालांकि, मैं उल्लेख करना भूल गया था कि मैं पुराने .NET 1.1 एप्लिकेशन को डिबग कर रहा था, और 1.1 में थ्रेड में कोई m_ManagedTreadread फ़ील्ड नहीं है। –