मैं सी # .NET में किसी अन्य प्रोग्राम के लिए प्लग-इन लिख रहा हूं, और इसमें प्रदर्शन समस्याएं हैं जहां कमांड बहुत अधिक समय लेते हैं तो मैं चाहता हूं। प्लग-इन होस्ट प्रोग्राम में घटनाओं पर प्रतिक्रिया करता है, और होस्ट प्रोग्राम एसडीके के उपयोगिता विधियों पर भी निर्भर करता है। मेरे प्लग-इन में बहुत सारे रिकर्सिव फ़ंक्शन हैं क्योंकि मैं पेड़ की संरचना में बहुत कुछ पढ़ रहा हूं और लिख रहा हूं। इसके अलावा मेरे पास मेरे प्लगइन और होस्ट एप्लिकेशन के साथ-साथ मेरे प्लग-इन में कक्षाओं के बीच ईवेंट सदस्यता के बीच कई ईवेंट सदस्यताएं हैं।प्रदर्शन समस्याओं को डीबग करने का सबसे अच्छा तरीका क्या है?
मैं कैसे समझ सकता हूं कि कार्य पूरा करने में कितना समय लग रहा है? मैं नियमित ब्रेकपॉइंट स्टाइल डिबगिंग का उपयोग नहीं कर सकता, क्योंकि ऐसा नहीं है कि यह काम नहीं करता है यह सिर्फ इतना धीमा है। मैंने एक स्थिर "लॉगवाइटर" वर्ग स्थापित किया है जिसे मैं अपने सभी वर्गों से संदर्भित कर सकता हूं जो मुझे मेरे कोड से लॉग फ़ाइल में टाइमस्टैम्प लाइनों को लिखने की अनुमति देगा। क्या कोई और तरीका है? क्या दृश्य स्टूडियो किसी प्रकार का टाइमस्टैम्प लॉग रखता है जिसे मैं इसके बजाय उपयोग कर सकता हूं? एप्लिकेशन बंद होने के बाद कॉल स्टैक देखने के लिए कोई रास्ता है?
लाल गेट निश्चित रूप से अच्छा सॉफ्टवेयर बनाता है। उनके एएनटीएस प्रदर्शन प्रोफाइलर मेरी राय में सर्वश्रेष्ठ में से एक है। मेरा मानना है कि आप एक परीक्षण संस्करण डाउनलोड कर सकते हैं। बाद में वास्तविक संस्करण खरीदने वाले अधिकांश लोग चेतावनी देते हैं :)। – bastijn
अच्छी तरह से माइक्रोसॉफ्ट प्रोफाइलर भी अच्छा है, लेकिन यह केवल महंगे वीएस पैक में शामिल है। – arbiter
मेरे द्वारा एएनटीएस के लिए अंगूठे भी, मेरे लिए एक बड़ी मेमोरी रिसाव का हल –