यह सही करने के लिए, आपको सी # अनुप्रयोग पर एक वैश्विक कॉल ग्राफ़ की आवश्यकता है, सी # सेमेटिक्स का उपयोग करके गणना की गई है और विश्लेषण के लिए अंक की मात्रा क्या है, तर्कसंगत रूप से पुस्तकालयों सहित। ऐसे कॉल ग्राफ़ के साथ, आप इसमें चक्रों की गणना कर सकते हैं, और वे जांच करने वाले उम्मीदवार होंगे।
मुझे नहीं पता कि आपको एक उपकरण कहाँ मिलेगा जो शेल्फ के बाहर सी # के लिए ऐसे वैश्विक कॉल ग्राफ़ की गणना करेगा।
आप सरल कोड स्कैनिंग तकनीकों का उपयोग करके इसका अनुमान लगा सकते हैं। प्रत्येक विधि एम के लिए, पहचानकर्ताओं के रूप में शामिल कॉल के एपैरेंट सेट को निकालें I अधिकांशतः वे पहचानकर्ता () के रूप में दिखाई देने वाले वाक्यविन्यास के रूप में दिखाई देंगे। इस चरण के बाद आपके पास M_i -> I. है। आप इसे एक (बाहरी रूढ़िवादी) के रूप में बना सकते हैं। मूल कॉल ग्राफ़, और उसके बाद ट्रांजिटिव क्लोजर की गणना करें। इसके साथ, आपके पास चक्र के साथ अनुमानित कॉल ग्राफ़ है, और आप अपना चक्र विश्लेषण कर सकते हैं। यह बड़े पैमाने पर विधियों और अन्य मामलों से गुजरता है, लेकिन यह काफी अच्छा हो सकता है
स्रोत
2011-09-25 20:30:26
अनबाउंड रिकर्सन का पता लगाने के लिए संकलन समय (ए.के.ए. स्थिर) विश्लेषण करना बहुत मुश्किल है। मुझे नहीं लगता कि .NET स्पेस में कोई भी उपकरण है जो आपको इससे मदद कर सकता है। – Steven
@Steven - हाँ, मैं किसी उपकरण के बारे में कुछ भी नहीं ढूंढ पाया ... निकटतम मैं आया था इसके बारे में एक एसीएम लेख था ... जब मैंने प्रश्न पोस्ट किया तो मैंने अपनी उंगलियों को पार किया। – Sam
आप मनमाने ढंग से रिकर्सन का पता लगाना चाहते हैं? या विशेष रूप से, एक अपवाद हैंडलर के माध्यम से होता है कि रिकर्सन? –