सबसे पहले, windbg
में प्रत्येक एसओएस कमांड के लिए मदद और पैरामीटर प्राप्त करने के लिए कोई आदेश है?कृपया समझाएं! Syncblk windbg कमांड
दूसरे, मैं !syncblk
उत्पादन को समझने के लिए
Index SyncBlock MonitorHeld Recursion Owning Thread Info SyncBlock Owner
201 05b9493c 979 1 05bc1040 bcc 45 022f3490 System.Collections.ArrayList
2875 05b4c914 1 1 17b99e10 1af8 290 024862d8 MyClass
2945 05b4b66c 1 1 17d1a290 12c0 752 02482940 MyClass
MonitorHeld
synblk
द्वारा आयोजित की निगरानी की # पता चलता करना चाहते हैं। लिखने के लिए 1 और पढ़ने के लिए 2, लेकिन शेष कॉलम का क्या अर्थ है?
मैं एक सी # कोड
MyClass MyObj;
MyObj = new MyClass();
अब है कहो अगर मैं ऐसा
lock (MyObj)
{
}
विल syncblk
मालिक स्तंभ शो "MyClass"? इसी तरह जब मैं यह !SyncBlk
कमांड चलाता हूं, तो यह मुझे वास्तव में क्या दिखा रहा है? क्या यह मुझे lock()
और Monitor.Enter
और Mutex
() और अन्य लॉकिंग तंत्र की संख्या दिखा रहा है?
क्या आप कृपया बता सकते हैं कि कौन सा कॉलम दिखाता है? 2 सिंकब्लॉक कॉलम हैं। – bsobaid
मैंने स्पष्टीकरण के लिए अपना जवाब अपडेट कर दिया है। अगर यह अभी भी स्पष्ट नहीं है तो कृपया मुझे बताएं। –
धन्यवाद, और कॉलम 1,2, और 4 का क्या अर्थ है? WinDbgId का उपयोग धागे को ड्रिल करने के लिए किया जाता है? कुछ ~ 45e! clrstack की तरह? क्या कोड की रेखा जानने का कोई तरीका है जहां दिया गया सिंकब्लॉक लाइन थ्रेड के लिए होल्डिंग/प्रतीक्षा कर रही है? – bsobaid