डिबग बनाम डेल्फी बिल्ड कॉन्फ़िगरेशन में रिलीज़ 1/3

01

03 के

बिल्ड कॉन्फ़िगरेशन - बेस: डीबग, रिलीज़

डेल्फी प्रोजेक्ट मैनेजर
डेल्फी प्रोजेक्ट मैनेजर।जरको गजिक

अपने में प्रोजेक्ट मैनेजर विंडो डेल्फी (आरएडी स्टूडियो) आईडीई आपके वर्तमान परियोजना समूह की सामग्री को प्रदर्शित करता है और व्यवस्थित करता है और इसमें कोई भी परियोजना शामिल होती है। यह उन सभी इकाइयों को सूचीबद्ध करेगा जो आपकी परियोजना का हिस्सा हैं और साथ ही सभी रूपों और संसाधन फाइलों में शामिल हैं।

बिल्ड कॉन्फ़िगरेशन अनुभाग आपके प्रोजेक्ट के लिए आपके द्वारा बनाए गए विभिन्न बिल्ड कॉन्फ़िगरेशन को सूचीबद्ध करेगा।

कुछ और हालिया (सही होने के लिए: से शुरू डेल्फी 2007) डेल्फी संस्करणों में दो (तीन) डिफ़ॉल्ट बिल्ड कॉन्फ़िगरेशन हैं: DEBUG और RELEASE।

सशर्त संकलन 101 आलेख बिल्ड कॉन्फ़िगरेशन का उल्लेख करता है, लेकिन विवरण में अंतर की व्याख्या नहीं करता है।

डिबग बनाम रिहाई

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

नामकरण स्वयं: "डिबग" और "रिलीज़" आपको सही दिशा में इंगित करना चाहिए।

instagram viewer
  • डिबग कॉन्फ़िगरेशन सक्रिय और उपयोग किया जाना चाहिए, जबकि हम विकसित और डिबगिंग कर रहे हैं और आपके एप्लिकेशन को बदल रहे हैं।
  • जब हम आपके एप्लिकेशन का निर्माण कर रहे हैं तो रिलीज़ कॉन्फ़िगरेशन को सक्रिय किया जाना चाहिए ताकि उत्पादित निष्पादन योग्य फ़ाइल उपयोगकर्ताओं को भेजी जा सके।

फिर भी, सवाल बना हुआ है: क्या अंतर है? "डिबग" सक्रिय होने पर आप क्या कर सकते हैं और अंतिम निष्पादन योग्य फ़ाइल में क्या शामिल है बनाम। "रिलीज़" लागू होने पर निष्पादन योग्य कैसे दिखता है?

विन्यास बनाएँ

डिफ़ॉल्ट रूप से, तीन हैं (भले ही प्रोजेक्ट मैनेजर में आप केवल दो देखें) द्वारा बनाए गए कॉन्फ़िगरेशन का निर्माण करें डेल्फी जब आप एक नई परियोजना शुरू करते हैं. वे बेस, डीबग और रिलीज़ हैं।

आधार विन्यास के आधार सेट के रूप में कार्य करता है विकल्प मान इसका उपयोग आपके द्वारा बाद में बनाए गए सभी कॉन्फ़िगरेशन में किया जाता है।

जिन विकल्प मूल्यों का उल्लेख किया गया है, वे हैं संकलन तथा जोड़ने और विकल्प का एक और सेट आप प्रोजेक्ट विकल्प संवाद (मुख्य मेनू: प्रोजेक्ट - विकल्प) का उपयोग करके अपनी परियोजना के लिए बदल सकते हैं।

डिबग कॉन्फ़िगरेशन अनुकूलन को अक्षम करने और डिबगिंग को सक्षम करने के साथ-साथ विशिष्ट सिंटैक्स विकल्प सेट करके बेस का विस्तार करता है।

कॉन्फ़िगरेशन जारी करें प्रतीकात्मक डिबगिंग जानकारी का उत्पादन नहीं करने के लिए बेस का विस्तार करता है, कोड TRACE और ASSERT कॉल के लिए उत्पन्न नहीं होता है, जिसका अर्थ है कि आपके निष्पादन योग्य का आकार कम हो गया है।

आप अपने स्वयं के बिल्ड कॉन्फ़िगरेशन जोड़ सकते हैं, और आप डिफ़ॉल्ट डिबग और रिलीज़ कॉन्फ़िगरेशन दोनों को हटा सकते हैं, लेकिन आप बेस एक को हटा नहीं सकते हैं।

बिल्ड कॉन्फ़िगरेशन प्रोजेक्ट फ़ाइल (.dproj) में सहेजे जाते हैं। DPROJ एक XML फ़ाइल है, यहाँ निर्माण विन्यास के साथ अनुभाग कैसे है:

00400000. । \ $ (कॉन्फ़िग) \ $ (मंच) WinTypes = विंडोज; WinProcs = विंडोज; DbiTypes = BDE; DbiProcs = BDE; $ (DCC_UnitAlias) । \ $ (कॉन्फ़िग) \ $ (मंच) डीबग; $ (DCC_Define) असत्य। सच। असत्य। विज्ञप्ति; $ (DCC_Define) 0. असत्य।

बेशक, आप DPROJ फ़ाइल को मैन्युअल रूप से नहीं बदलेंगे, इसे डेल्फी द्वारा बनाए रखा गया है।

आप * बिल्ड कॉन्फ़िगरेशन का नाम बदल सकते हैं, आप * प्रत्येक बिल्ड कॉन्फ़िगरेशन के लिए सेटिंग्स बदल सकते हैं, आप * * कर सकते हैं ताकि "रिलीज़" डिबगिंग के लिए हो और "डिबग" आपके क्लाइंट के लिए अनुकूलित हो। इसलिए आपको पता होना चाहिए कि आप क्या कर रहे हैं :)

संकलन, भवन, चल रहा है

जैसा कि आप अपने एप्लिकेशन पर काम कर रहे हैं, इसे विकसित करते हुए, आप सीधे IDE से एप्लिकेशन को कंपाइल, बिल्ड और रन कर सकते हैं। संकलन, निर्माण और चलाने से निष्पादन योग्य फ़ाइल का उत्पादन होगा।

कंपाइलिंग आपके कोड को सिंटैक्स की जांच करेगा और एप्लिकेशन को संकलित करेगा - केवल उन फाइलों को ध्यान में रखेगा जो पिछले बिल्ड के बाद बदल गए हैं। संकलन DCU फ़ाइलों का उत्पादन करता है।

भवन निर्माण एक ऐसा संकलन है जिसमें सभी इकाइयों (यहां तक ​​कि जिन लोगों को नहीं बदला गया है) को संकलित किया जाता है। जब आप प्रोजेक्ट विकल्प बदलते हैं तो आपको निर्माण करना चाहिए!

रनिंग कोड संकलित करता है और एप्लिकेशन चलाता है। आप डिबगिंग (F9) या डिबगिंग के बिना चला सकते हैं (Ctrl + Shift + F9)। यदि डिबगिंग के बिना चलाया जाता है, तो आईडीई में निर्मित डीबगर को लागू नहीं किया जाएगा - आपके डिबगिंग ब्रेकपॉइंट काम नहीं करेंगे।

अब जब आप जानते हैं कि बिल्ड कॉन्फ़िगरेशन कैसे और कहाँ सहेजे जाते हैं, तो देखते हैं कि डिबग और रिलीज़ बिल्ड के बीच का अंतर क्या है।

02

03 के

बिल्ड कॉन्फ़िगरेशन: DEBUG - डिबगिंग और विकास के लिए

डेल्फी में डिबग बिल्ड कॉन्फ़िगरेशन
डेल्फी में डिबग बिल्ड कॉन्फ़िगरेशन।जरको गजिक

डिफ़ॉल्ट बिल्ड कॉन्फ़िगरेशन डीबग, आप अपने डेल्फी प्रोजेक्ट के लिए प्रोजेक्ट मैनेजर में ढूँढ सकते हैं, डेल्फी द्वारा बनाया गया है जब आप एक नया एप्लिकेशन / प्रोजेक्ट बनाया.

डिबग कॉन्फ़िगरेशन अनुकूलन अक्षम करता है और डीबगिंग को सक्षम करता है।

बिल्ड कॉन्फ़िगरेशन को संपादित करने के लिए: कॉन्फ़िगरेशन नाम पर राइट-क्लिक करें, संदर्भ मेनू से "संपादित करें" चुनें और आप खुद को प्रोजेक्ट स्क्रीन संवाद बॉक्स में देख पाएंगे।

डिबग विकल्प

चूंकि डिबग बेस कॉन्फ़िगरेशन बिल्ड का विस्तार करता है, उन सेटिंग्स को एक अलग मूल्य है जो बोल्ड में प्रदर्शित किया जाएगा।

डीबग (और इसलिए डीबगिंग) के लिए विशिष्ट विकल्प हैं:

  • डेल्फी कम्पाइलर - संकलन - कोड जनरेशन - अनुकूलन बंद - कंपाइलर कई कोड ऑप्टिमाइज़ेशन नहीं करेगा, जैसे कि सीपीयू रजिस्टरों में वेरिएबल्स रखना, कॉमन सबटेक्शन्स को खत्म करना और इंडक्शन वेरिएबल्स जेनरेट करना।
  • डेल्फी कम्पाइलर - संकलन - कोड जनरेशन - स्टैक फ्रेम्स ऑन - स्टैक फ्रेम हमेशा प्रक्रियाओं और कार्यों के लिए उत्पन्न होते हैं, तब भी जब उनकी आवश्यकता नहीं होती है।
  • डेल्फी कम्पाइलर - संकलन - डिबगिंग - डिबग जानकारी चालू - जब किसी प्रोग्राम या यूनिट को इस विकल्प के साथ संकलित किया जाता है, तो एकीकृत डिबगर आपको एकल-चरण और ब्रेकपॉइंट सेट करने देता है. डिबग जानकारी "चालू" निष्पादन योग्य कार्यक्रम के आकार या गति को प्रभावित नहीं करती है - डिबग जानकारी को डीसीयू में संकलित किया जाता है और निष्पादन योग्य में लिंक नहीं किया जाता है।
  • डेल्फी कम्पाइलर - संकलन - डिबगिंग - स्थानीय प्रतीकों पर - जब किसी प्रोग्राम या यूनिट को इस विकल्प के साथ संकलित किया जाता है, तो एकीकृत डिबगर आपको मॉड्यूल के स्थानीय चर की जांच करने और संशोधित करने देता है. "पर" होने वाले स्थानीय प्रतीकों को निष्पादन योग्य कार्यक्रम के आकार या गति को प्रभावित नहीं करता है।

नोट: डिफ़ॉल्ट रूप से, "डीबग का उपयोग करें .dcus" विकल्प बंद है। इस विकल्प को सेट करना आपको सक्षम बनाता है डेल्फी VCL स्रोत कोड डीबग करें (VCL में एक विराम बिंदु सेट करें)

आइए अब देखें कि "रिलीज़" किस बारे में है ...

03

03 के

बिल्ड कॉन्फ़िगरेशन: सार्वजनिक वितरण के लिए - कृपया

डेल्फी रिलीज बिल्ड कॉन्फ़िगरेशन
डेल्फी रिलीज बिल्ड कॉन्फ़िगरेशन।जरको गजिक

डिफ़ॉल्ट बिल्ड कॉन्फ़िगरेशन रिलीज़, आप अपने डेल्फी प्रोजेक्ट के लिए प्रोजेक्ट मैनेजर में पता लगा सकते हैं, डेल्फी द्वारा बनाया गया है जब आपने एक नया एप्लिकेशन / प्रोजेक्ट बनाया था।

रिलीज़ कॉन्फ़िगरेशन अनुकूलन सक्षम करता है और डिबगिंग को अक्षम करता है, कोड TRACE और ASSERT कॉल के लिए उत्पन्न नहीं होता है, जिसका अर्थ है कि आपके निष्पादन योग्य का आकार कम हो गया है।

बिल्ड कॉन्फ़िगरेशन को संपादित करने के लिए: कॉन्फ़िगरेशन नाम पर राइट-क्लिक करें, संदर्भ मेनू से "संपादित करें" चुनें और आप खुद को प्रोजेक्ट स्क्रीन संवाद बॉक्स में देख पाएंगे।

विकल्प जारी करें

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

रिलीज़ के लिए (आपके एप्लिकेशन के उपयोगकर्ताओं द्वारा उपयोग किया जाने वाला संस्करण - डिबगिंग के लिए नहीं) विशिष्ट विकल्प हैं:

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

वे एक नई परियोजना के लिए डेल्फी द्वारा निर्धारित डिफ़ॉल्ट मान हैं। आप डिबगिंग या रिलीज़ बिल्ड कॉन्फ़िगरेशन का अपना संस्करण बनाने के लिए प्रोजेक्ट के किसी भी विकल्प को बदल सकते हैं।

instagram story viewer