वहाँ किसी भी तरह से पता लगाने के लिए अगर एक विधानसभा विधानसभा को संशोधित किए बिना ट्रेस या डीबग ध्वज सेट के साथ संकलित किया गया है है के साथ संकलित किया गया था?कैसे पता लगाने के लिए अगर एक .NET विधानसभा ट्रेस या डीबग ध्वज
उत्तर
static bool IsDebug(){
bool rv = false;
#if DEBUG
rv = true;
#endif
return rv;
}
खैर धन्यवाद, लेकिन मैं के लिए देख रहा हूँ असेंबली को संशोधित किए बिना पता लगाने का एक तरीका है। मैं कुछ कमांड लाइन उपकरण के साथ अधिमानतः पहले से संकलित असेंबली का निरीक्षण करना चाहता हूं। – Ralf
शायद कोई सामान्य तरीका नहीं है। हालांकि, आप System.Diagnostics
नामस्थान से Assert
और Debug
के संदर्भों को देख सकते हैं। उनमें से उपस्थिति इंगित करेगी कि DEBUG ध्वज सेट किया गया था।
ही Trace
और ट्रेस ध्वज के लिए आयोजित करता है।
स्पष्ट रूप से यह काम नहीं करेगा अगर स्रोत कोड इन नामस्थानों के प्रकारों का उपयोग नहीं करता है। स्कॉट हंसेलमैन से
सीधा लिंक उपयोग निर्देशों के साथ।
करने का एकमात्र सबसे अच्छा तरीका संकलित असेंबली स्वयं ही जांचना है। '.NET असेंबली सूचना' नामक यह बहुत उपयोगी टूल है here रोटेम ब्लूम द्वारा पाया गया। इसे स्थापित करने के बाद यह .dll फ़ाइलों को स्वयं के साथ खोलने के लिए अलग करता है। इंस्टॉलेशन के बाद आप इसके साथ खोलने के लिए असेंबली पर डबल-क्लिक कर सकते हैं और यह आपको स्क्रीनशॉप में प्रदर्शित असेंबली विवरण देगा। वहां आप यह पहचान सकते हैं कि यह डिबग किया गया है या नहीं।
alt text http://ruchitsurati.net/myfiles/asm_info.jpg
alt text http://ruchitsurati.net/myfiles/release_assembly.PNG
"IsDebug" जैसा कि ऊपर उल्लेख अनुप्रयोग, वास्तव में यह में एक बग जहां यह सही DubuggableAttributes पर प्रतिबिंबित नहीं करता है। यह गलत तरीके से मानता है कि यदि डिबग्रेबलएट्रिब्यूट मौजूद है, तो असेंबली जेआईटी अनुकूलित नहीं है।
के साथ या विधानसभा में कोड जोड़ने के बिना- 1. प्रोग्राम का पता लगाने के रिलीज/डीबग मोड (.NET)
- 2. ट्रेस और डीबग स्टेटमेंट
- 3. पायथन: डीबग दुभाषिया का पता लगाने के लिए कैसे करें
- 4. का पता लगाने अगर रंग
- 5. कैसे पता लगाने के लिए अगर किसी एप्लिकेशन एंड्रॉयड
- 6. पीएचपी - कैसे पता लगाने अगर आउटपुट बफरिंग
- 7. सभी उपलब्ध जावास्क्रिप्ट घटनाओं का पता लगाने या डीबग करने के लिए कैसे करें
- 8. स्वाइप पता लगाने के लिए
- 9. हम डीबग/ट्रेस स्टेटमेंट
- 10. का पता लगाने अगर एक OCX वर्ग विंडोज
- 11. का पता लगाने अगर एक वस्तु रिक्त है
- 12. .NET कॉम्पैक्ट फ्रेमवर्क - अगर एमुलेटर के तहत पता लगाना है?
- 13. कैसे पता लगाने के लिए अगर प्रकार एक और जेनेरिक प्रकार
- 14. जावास्क्रिप्ट या PHP विकल्प पता लगाने के लिए AIM स्थिति
- 15. NullPointerException स्टैक ट्रेस डीबग एजेंट
- 16. T-SQL समारोह का पता लगाने के लिए कैसे
- 17. डब्ल्यूसीएफ संदेश आकार का पता लगाने के लिए कैसे?
- 18. हर विधि का पता लगाने के लिए कैसे
- 19. -g डीबग ध्वज के साथ बढ़ावा कैसे संकलित करें?
- 20. एक निश्चित बंदरगाह के लिए ट्रेस रूटिंग
- 21. फ़ायरफ़ॉक्स में रीडायरेक्ट का पता लगाने के लिए कैसे?
- 22. विधानसभा .NET 4.0
- 23. कैसे एक समारोह का पता लगाने के साथ जावास्क्रिप्ट
- 24. माउस व्हील झुकाव का पता लगाने के लिए कैसे?
- 25. .NET - एक डीएलएल डीबग कैसे करें?
- 26. सबव्यूज़ में एक टैप जेस्चर का पता लगाने के लिए
- 27. स्ट्रीम के अंत का पता लगाने के लिए कैसे?
- 28. एक्सेल दृश्य मूल - का पता लगाने अगर रेंज खाली
- 29. अगर उपयोगकर्ता कोको में कोई ऐप है तो पता लगाने के लिए
- 30. यह पता लगाने के लिए कि विंडोज
: मैं पर अपने ब्लॉग पर सही कार्यान्वयन प्रदान की है? Stackoverflow में – StingyJack
समानता सवाल, एक सवाल है, और कई, कई अलग अलग जवाब: http://stackoverflow.com/questions/654450/programatically-detecting-release-debug-mode-net http: // stackoverflow। com/प्रश्न/798,971/कैसे करने वाली idenfiy-अगर-dll-है-डिबग या रिहाई-बिल्ट-इन-शुद्ध http://stackoverflow.com/questions/194616/how-to-tell -यदि निवल एप्लिकेशन-गया था संकलित-इन-डिबग या रिहाई मोड http://stackoverflow.com/questions/50900/best-way-to-detect-a-release-build-from- एक-डिबग-निर्माण शुद्ध http://stackoverflow.com/questions/890459/asp-net-release-build-vs-debug-build – Kiquenet