2008-12-08 18 views
5

क्या गतिशील कॉल ग्राफ़ को देखने के लिए वहां कोई उपकरण है? मैंने विजुअल बेसिक 6 के लिए एक संदर्भ देखा लेकिन मुझे .NET के लिए एक चाहिए।मैं .NET प्रोग्राम के लिए गतिशील कॉल ग्राफ़ के विज़ुअलाइज़ेशन को कैसे देख सकता हूं?

अगर मैं एक विजुआलाइज़र अपने आप को मैं नेट रूपरेखा एपीआई से परेशान चाहिए या मैं Mono.Cecil साथ कुछ करना चाहिए निर्माण करने के लिए था? मैंने सेसिल के साथ एक सीएलआई रनटाइम लिखना शुरू किया, लेकिन मुझे लगता है कि अगर मैं असेंबली में कॉल-ग्राफ रिकॉर्डिंग कॉल इंजेक्शन करता हूं तो यह आसान होगा, हालांकि मुझे समय से पहले निष्पादन मार्ग नहीं पता है और उसे सबकुछ करना होगा ।

उत्तर

1

रूपरेखा CLR नेट रूपरेखा एपीआई का उद्देश्य है, तो यह अपनी जरूरत के लिए एकदम सही लगती है। प्रोफाइलर उत्पादों का अधिकांश हिस्सा इसके शीर्ष पर आधारित है। लेकिन आपको अप्रबंधित कोड लिखना होगा, urk।

सेसिल का उपयोग करना भी संभव है, और यदि आप बस विधियों के प्रवेश/बाहर निकलना चाहते हैं तो बहुत सरल है।

संपादित करें:

खैर, PostSharp शायद, सबसे अच्छा समाधान है, क्योंकि यह आपको स्थिर बुनाई पर निर्भर द्वारा ऐसी आवश्यकता को संभालने के लिए अनुमति देता है। एओपी सीसिल के साथ आईएल को सीधे लिखने की तुलना में अबास्ट्रक्शन का बेहतर स्तर प्रदान करता है।

+0

मैंने लिंक को अपडेट किया क्योंकि पुराना व्यक्ति मर चुका था। नए स्थान पर पोस्टशर्प मौजूदा कोड का विश्लेषण करने के बजाय बिल्डिंग कोड पर अधिक ध्यान केंद्रित करता है, लेकिन मुझे कहना होगा कि मैंने केवल साइट पर देखा है। –

3

शायद CodePlex पर इस ओपन सोर्स प्रोजेक्ट के रूप में प्रारंभिक बिंदु मदद कर सकता है:

SequenceViz

http://www.codeplex.com/sequenceviz

"SequenceViz एक उपकरण रिवर्स इंजीनियरिंग नेट विधानसभाओं द्वारा अनुक्रम आरेख उत्पन्न करने के लिए है। हालांकि यह बाद के संस्करणों में उससे थोड़ा अधिक है। "

एक स्टैंडअलोन संस्करण और परावर्तक-प्लगइन के रूप में कार्यान्वयन है।

alt text http://i3.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=sequenceviz&DownloadId=44432

+0

मुझे लगता है कि * गतिशील * कॉलिंग ग्राफ द्वारा रुचि रखने में मार्क्सिडाड, जिसका अर्थ है कि निष्पादन को प्रोफाइल किया जाना चाहिए। SequenceViz, परावर्तक के रूप में, एक स्थिर विश्लेषण करता है। –

+0

मुझे SequenceViz के बारे में पता है लेकिन कठिन भाग को वास्तविक समय मिल जाएगा जो रन-टाइम के दौरान किए गए थे। –

+0

मैं समझता हूं, लेकिन मैंने सोचा कि आप कोड को देख सकते हैं और इसे आधार के रूप में ले सकते हैं (विज़ुअलाइज़ेशन भाग के लिए) और प्रोफाइलिंग सामग्री को "जोड़ना" – splattne

1

आप Sourceforge पर एक ओपन सोर्स प्रोजेक्ट NProf का उपयोग करते हैं। यह आपको पर नए विज़ुअलाइज़ेशन टूल के साथ डिफ़ॉल्ट जीयूआई प्रदान करता है।

"एनप्रोफ न केवल .NET अनुप्रयोगों के लिए एक पूर्णतः प्रोफाइल वाला प्रोफाइलर बनने के लिए डिज़ाइन किया गया है, बल्कि एक पूर्ण एपीआई भी है जिसका उपयोग अन्य प्रोफाइलर फ्रंट-एंड बनाने के लिए किया जा सकता है, साथ ही नए विज़ुअलाइज़ेशन के साथ डिफ़ॉल्ट जीयूआई का विस्तार भी किया जा सकता है उपकरण। "

1

मैं प्यार करता हूँ CLR Profiler. मैं यहाँ प्रलेखन प्रजनन द्वारा अंतरिक्ष बर्बाद नहीं होगा, लेकिन यह लग रहा है जैसे कि यह है आप के लिए वास्तव में क्या देख रहे हैं।

+0

क्या सीएलआर प्रोफाइलर में कार्य तर्क शामिल हैं जो पारित किए गए हैं और फ़ंक्शन कॉल के अनुक्रम में हैं? –

+0

यह फ़ंक्शन कॉल के अनुक्रम को कैप्चर करता है, जो इसे एक बहुत ही उपयोगी दृश्य फैशन में प्रस्तुत कर सकता है, लेकिन यह फ़ंक्शन तर्कों को कैप्चर नहीं करता है। –

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

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