2010-05-03 11 views
13

क्या ग्रहण डीबगिंग पर्यावरण के भीतर कोई सिंक्रनाइज़ेशन लॉक की स्थिति देखने और प्रतीक्षा करने की प्रक्रिया देखने के लिए कोई तंत्र है?जावा सिंक्रनाइज़ेशन डीबगिंग

+0

क्या आप संभावित मृत-लॉक को डिबग कर रहे हैं? – aioobe

+0

मुझे एक अप्रत्याशित डेडलॉक मिला, लेकिन मुझे "अनुमान लगाया" था कि अप्रत्याशित रूप से स्थगित प्रक्रियाओं के सेट से मामला हो। वहां एक बेहतर तरीका होना चाहिए। – ddyer

उत्तर

13

आप में वस्तु पर नज़र रखता है की राज्य दिखा सकते हैं नहीं है ग्रहण डीबगर। आप find a short, clear tutorial here कर सकते हैं। प्रत्येक धागे के लिए, ग्रहण आपको थ्रेड के मॉनिटर्स को दिखा सकता है और जिनके लिए यह इंतजार कर रहा है।

+1

धन्यवाद। मैं कल्पना नहीं कर सकता कि क्यों मॉनीटर दृश्य डिफ़ॉल्ट रूप से बंद है। – ddyer

+0

यह हो सकता है कि यह केवल तभी काम करता है जब आप सिंक्रनाइज़ किए गए कथन के कारण डेडलॉक की तलाश में हैं। मैं वर्तमान में 'ReentrantReadWriteLock' के कारण किसी की तलाश कर रहा हूं और मुझे इस प्रकार की सूचना फॉर्म ग्रहण नहीं मिलता है। – Scheintod

1

के रूप में सुझाव दिया here आप सकता है (यदि आप सूर्य JVM चलाने) निम्न चरणों का पालन:

  1. लांच JConsole या jvisualvm (दोनों अपने JDK स्थापना की बिन-निर्देशिका में मौजूद,
  2. देते हैं करने के लिए प्रक्रिया आपको संदेह बंद कर दिया गया
  3. धागे फलक पर जाएँ। एक "का पता लगाने डेडलॉक" बटन
संबंधित मुद्दे