विजुअल स्टूडियो में डिबग मोड और रिलीज मोड आपके .NET प्रोजेक्ट को बिल्ड करने के लिए अलग-अलग कॉन्फ़िगरेशन हैं।
अपने .NET प्रोजेक्ट को चरण-दर-चरण डिबग करने के लिए डिबग मोड चुनें और असेंबली फ़ाइल (.dll या .exe) के अंतिम बिल्ड के लिए रिलीज मोड चुनें।
डिबग मोड अपने द्वारा उत्पादित बाइनरी को ऑप्टिमाइज़ नहीं करता क्योंकि स्रोत कोड और जनरेटेड निर्देशों के बीच संबंध अधिक जटिल होता है।
यह ब्रेकपॉइंट्स को सटीक रूप से सेट करने की अनुमति देता है और प्रोग्रामर को कोड के माध्यम से एक बार में एक लाइन स्टेप करने की अनुमति देता है।
आपके प्रोग्राम की डिबग कॉन्फ़िगरेशन पूर्ण प्रतीकात्मक डिबग जानकारी के साथ संकलित होती है जो डिबगर को यह पता लगाने में मदद करती है कि यह स्रोत कोड में कहां है।
आपके प्रोग्राम की रिलीज कॉन्फ़िगरेशन में कोई प्रतीकात्मक डिबग जानकारी नहीं होती और यह पूरी तरह से ऑप्टिमाइज़ होती है।
बिल्ड कॉन्फ़िगरेशन बदलने के लिए
बिल्ड मेनू से, कॉन्फ़िगरेशन मैनेजर चुनें, फिर डिबग या रिलीज चुनें।
या
टूलबार पर, सॉल्यूशन कॉन्फ़िगरेशन सूची से डिबग या रिलीज चुनें।
#if DEBUG के अंदर लिखा कोड केवल तभी निष्पादित होगा जब कोड डिबग मोड में चल रहा हो।
यदि कोड रिलीज मोड में चल रहा है तो #if DEBUG गलत होगा और इसके अंदर मौजूद कोड निष्पादित नहीं होगा।
उदाहरण
class Program {
static void Main() {
#if DEBUG
Console.WriteLine("You are in debug");
#endif
Console.ReadKey();
}
}
यदि प्रोग्राम डिबग मोड में चल रहा है तो If ब्लॉक true लौटाएगा और "You are in debug" प्रिंट करेगा।
यदि प्रोग्राम डिबग मोड में नहीं है तो If DEBUG false लौटाएगा।