2009-04-28 7 views
5

मैं कैसे निर्धारित करूं कि WinDBG से अग्रभूमि .NET धागे कौन से हैं? थ्रेड्स कमांड का उपयोग करते हुए एसओएस एक्सटेन्स्टियन हमें अग्रभूमि धागे की गिनती बताता है लेकिन कौन सा नहीं।मैं कैसे निर्धारित करूं कि WinDBG से अग्रभूमि .NET धागे कौन से हैं?

उत्तर

5

!threads आउटपुट में राज्य ध्वज में बहुत सारी जानकारी है। यदि 0x00000200 ध्वज सेट किया गया है तो धागा पृष्ठभूमि धागा है।

.NET 4 और PSSCOR2 के लिए एसओएस में, !threadstate कमांड है, जो किसी दिए गए ध्वज मान के लिए ग्रंथों को सूचीबद्ध करेगा। यदि आपके पास ऐसा नहीं है, तो रोटर स्रोत कोड में झंडे का एक सिंहावलोकन है और जॉन रॉबिन्स द्वारा डीबीगिंग .NET 2.0 अनुप्रयोगों में।

+0

धन्यवाद एक बहुत! एसओएस एक्सटेंशन से सभी थ्रेड स्टेट फ्लैग देखना अच्छा लगेगा। – Costel

5

आप इस link में दिए गए थ्रेड स्टेट मानों का उपयोग कर सकते हैं और पता लगा सकते हैं कि कोई थ्रेड पृष्ठभूमि धागा है या नहीं।

TS_Background 0x00000200 थ्रेड एक पृष्ठभूमि धागा

है
+0

+1 उस लिंक को नहीं पता था। धन्यवाद। –

0

Netext के आदेश !wthreads प्रकार और स्थिति जानकारी दिखाता है:

0:011> !wthreads 
    Id OSId Address Domain Alloc Start:End COM GC Type Locks Type/Status    Last Exception 
    1 1854 0074f580 00748cd0 02c19308:02c1b2e8 STA Preemptive 0       
    2 1890 0075ab18 00748cd0 00000000:00000000 MTA Preemptive 0 Background|Finalizer  
    3 1bac 080ecb98 00748cd0 00000000:00000000 MTA Preemptive 0 Background|Worker   
    4 ---- 08106068 00748cd0 00000000:00000000 MTA Preemptive 0 Worker|Terminated   
    5 ---- 0810e988 00748cd0 00000000:00000000 MTA Preemptive 0 Worker|Terminated   
    6 ---- 080eb1d0 00748cd0 00000000:00000000 MTA Preemptive 0 Worker|Terminated   
    7 081c 080fcb48 00748cd0 00000000:00000000 MTA Preemptive 0 Background|IOCPort 
संबंधित मुद्दे