2011-05-26 16 views
5

मैं उन अनुप्रयोगों पर कुछ मेमोरी प्रोफाइलिंग करने की कोशिश कर रहा हूं जो बड़ी मात्रा में स्मृति जमा कर रहा है।सी # मेमोरी प्रोफाइल

मैं पाया है इस उपकरण (CLRProfiler): http://msdn.microsoft.com/en-us/library/ff650691.aspx

लेकिन यह काम करने लगता है। जब मैं इसे चलाता हूं, यह "सामान्य भाषा रनटाइम शुरू करने के लिए एप्लिकेशन की प्रतीक्षा" पर हमेशा के लिए बैठता है।

कोई अन्य सुझाव कि मैं सी # में मेमोरी कैसे प्रोफाइल कर सकता हूं?

+5

क्या आप सही संस्करण का उपयोग कर रहे हैं? ध्यान रखें कि 32-बिट संस्करण और 64-बिट एक है। इसे आपके एप्लिकेशन बिल्ड सेटिंग्स से मेल खाना पड़ेगा। – Mr47

उत्तर

4

यदि आप W7 या Vista के साथ काम करते हैं, तो इसे व्यवस्थापक (फ़ाइल-> ContextMenu-> व्यवस्थापक के रूप में चलाएं) के रूप में प्रारंभ करें। जैसा कि पहले से ही दूसरों ने कहा है, सही संस्करण का उपयोग करने के लिए भी जांच करें।

+1

मैंने व्यवस्थापक के रूप में चलाने की कोशिश की और मुझे एक ही चीज़ मिल गई। – Kyle

+2

@ जेनॉक्स: क्या आपने लक्ष्य CLR संस्करण-Combobox में सही clr-version का चयन किया है? 3.51 तक, वी 2 डेस्कटॉप सीएलआर का चयन करें, ऊपर, वी 4 का उपयोग करें। क्या आपके पास नवीनतम क्लियर प्रोफाइलर (वी 4) है? मुझे याद है कि मुझे आपके जैसा ही समस्या थी, लेकिन इसे उन्नत अधिकारों से शुरू करने से समस्या हल हो गई है (सुनिश्चित करें कि आपके पास क्लियर प्रोफाइलर का दूसरा उदाहरण नहीं है)। हालांकि, सीएलआर प्रोफाइलर काम करने के बाद, मैंने http://memprofiler.com/ पर स्विच किया, इस उपकरण को वास्तव में प्रभावशाली ... – HCL

+0

मेरे लिए मुझे इस उत्तर का एक संयोजन और ऊपर टिप्पणी जो दिलचस्प है क्योंकि मेरे सहयोगी व्यवस्थापक को चुनने के बिना इसे चलाएं और सटीक उसी एप्लिकेशन को चलाने के लिए सीएलआर के v4 के साथ इसे छोड़ सकते हैं, इसलिए यह थोड़ा यादृच्छिक लगता है! –

1

आप की तरह ants memory profiler (लाल गेट) या dotTrace (JetBrains) एक व्यावसायिक उत्पाद का उपयोग कर सकते हैं।

दोनों के साथ शुरुआत करना बहुत आसान है।

3

यदि आपकी परियोजना x86 बनाने के लिए सेट है, तो आपको 32 बिट संस्करण का उपयोग करना होगा, भले ही आपका ओएस 64 बिट हो।

+0

धन्यवाद, यह मेरे लिए तय है। – Carra

संबंधित मुद्दे