इसके लिए थोड़े तकनीकी ज्ञान की आवश्यकता होती है, लेकिन विंडोज डिबगर WinDbg () के साथ हैंग का विश्लेषण करना संभव है । इसे स्थापित करने, प्रक्रिया में संलग्न करने, और प्रतीकों को स्थापित करने के लिए कुछ काम करने की आवश्यकता है (बहुत महत्वपूर्ण!) लेकिन फिर आप एक एकल WinDbg कमांड (जोर मेरा) के साथ हैंग का कारण जान सकते हैं:
विश्लेषण -v -hang
यह वही है जो मैं पहले नहीं आया था। एक त्रिशंकु प्रक्रिया से डंप खोलने के बाद इसे चलाएं, और यह निर्धारित करेगा कि फांसी के लिए कौन सा धागा जिम्मेदार था और यह किसकी प्रतीक्षा कर रहा था। मुझे पता था कि विंडबग आपको हैंडल की जांच करने दे सकता है, प्रत्येक धागे में सभी ताले खुले दिखा सकते हैं, और आप उन सभी की विस्तार से जांच कर सकते हैं। लेकिन मुझे यह महसूस नहीं हुआ कि विश्लेषण के साथ, विंडबग मेरे लिए कड़ी मेहनत कर सकता है - सभी थ्रेड्स द्वारा खुले ताले की जांच करना, यह निर्धारित करना कि कौन से थ्रेड्स का इंतजार कर रहे हैं, और दूसरों के लिए काम करने के लिए एक आदेश का निर्माण करें जो शुरू में जिम्मेदार था। फांसी।
स्रोत
इसके अलावा उन्नत विंडोज डिबगिंग मारियो हेवार्ड द्वारा, डैनियल प्रावत आपको WinDbg के साथ शुरू करने के लिए एक बहुत अच्छी किताब है: पहले कुछ अध्याय डीबगर्स का एक बहुत विस्तृत अवलोकन देते हैं, और विशेष रूप से WinDbg का उपयोग कैसे करें। शेष पुस्तक विस्तृत डिबगिंग केस स्टडीज़ से भरी हुई है, जिसे आपको पढ़ना नहीं है। मुझे लगता है कि एक ऐसे मामले का अध्ययन है जो यह बताता है कि कैसे एक फांसी पर बहस की जाए जो आपके लिए हितकारी होगी।
आपके द्वारा हैंग होने का कारण पता चलने के बाद, आप इसे और भी उन्नत डिबगिंग तकनीकों के साथ अनहैंग कर सकते हैं ^ ^