2012-01-26 15 views
29

कभी-कभी मैं समझता हूं कि हुड के नीचे विभिन्न कोड स्टेटमेंट्स के साथ वास्तव में क्या होता है, यह समझने के लिए कि यह here for example किया गया है, यह समझने के लिए मैं सी # में अपने कोड स्निपेट के आईएल प्रतिनिधित्व को तुरंत देखना चाहता हूं।आसान आईएल कोड निरीक्षण के लिए एक उपकरण

मुझे पता है कि ildasm, Reflector, ILSpy, dotPeek और शायद कुछ अन्य टूल्स उपलब्ध हैं। मैं यहां क्या सोच रहा हूं कि यदि आपके आईनेट कोड को संकलित करने, असेंबली को उन प्रोग्रामों में से लोड करने और कोड को ढूंढने के बारे में उत्सुक हैं, तो संबंधित आईएल को देखने के लिए कोड की कुछ पंक्तियां लिखने से कोई और शानदार तरीका है। ।

शायद विजुअल स्टूडियो के लिए एक प्लगइन है, जो "निर्माण और आईएल कोड देखें" या किसी अन्य सुविधाजनक तरीके के लिए एक राइट क्लिक विकल्प जोड़ देगा?

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

कुछ और मैंने पाया NDasm codeplex project जो मैं के लिए क्या देख रहा था करता googling के बाद - दृश्य स्टूडियो में एकीकृत करता है।

लेकिन वीसीएसजेन्स 'LINQPad सुझाव भी अच्छा है, इस प्रकार मैं इसे स्वीकार्य, धन्यवाद के रूप में चिह्नित कर रहा हूं। वास्तव में उपयोगी उपकरण ...

+0

मुझे यकीन है कि विजुअल स्टूडियो अल्टीमेट वैसे भी ऐसा कर सकता है। – Ryan

+0

@minitech वास्तव में? कैसे? – CodingGorilla

+0

@ कोडिंग गोरिल्ला: मुझे याद नहीं है। मैंने इसे एक बार देखा, लेकिन मैंने इसे कभी नहीं खरीदा ... आप जानते हैं, यह $ 15,000 है। – Ryan

उत्तर

47

मैं आमतौर पर LINQPad का उपयोग करता हूं। बस कुछ सी # में पेस्ट करें और आईएल व्यू पर स्विच करें। उदाहरण के लिए:

enter image description here

मुझे यह पसंद है क्योंकि आप भी सिर्फ भाव या बयान के बजाय एक पूरा कार्यक्रम पोस्ट कर सकते हैं:

enter image description here

और सबसे अच्छी बात यह मुफ़्त है (वैकल्पिक प्रीमियम सुविधाओं के साथ)।

+8

शायद यह ध्यान देने योग्य है कि LINQPad एक है अद्भुत उपकरण जो मुझे लगता है कि प्रत्येक डेवलपर के पास होना चाहिए, भले ही वे कभी भी आईएल को न देखें। यह * कई * तरीकों से सहायक है। – vcsjones

+0

आईएल में टूल टिप्स भी हैं, इसलिए आप देख सकते हैं कि यह सब क्या करता है, अगर आप इसे नहीं जानते/पहचानते हैं। यह परिवर्तनीय नामों में भी टिप्पणी करेगा, साथ ही उनके प्रकार को टूल टिप पर दिखाएगा। उदाहरण के लिए: ldc.i4.3 पर होवरिंग आपको देगा: "मूल्यांकन स्टैक पर 3 के पूर्णांक मान को int32 के रूप में धक्का देता है"। मुझे पता नहीं है कि कौन सा संस्करण इसका समर्थन करता है, लेकिन यह नवीनतम संस्करण (V5.10) में है, लेकिन मुझे लगता है कि यह पिछले संस्करण (V4) में भी समर्थित है। –

0

यदि आपके पास परावर्तक है, तो आप स्निपी एडिन का उपयोग कर सकते हैं। यहां एक ब्लॉग पोस्ट है: Reflector Snippy Addin

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