2011-03-11 19 views
26

कोको एप्लिकेशन के लिए डिबग और रिलीज बिल्ड के बीच अंतर क्या हैं? मुझे पता है कि डीबग संस्करण में डिबगिंग के लिए अतिरिक्त जानकारी है लेकिन बाकी क्या है? एक डिबग में पूरा प्रतीकात्मक डिबग जानकारी का निर्माण करते हुए अनुप्रयोगों की डीबगिंग मदद करने के लिए उत्सर्जित होता है और यह भी कोड अनुकूलन में रहते हुए ध्यान में रखा नहीं है :।डीबग और रिलीज के बीच एक्सकोड अंतर

उत्तर

31

मैं

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

कोई भी कर सकता है संकलन अनुकूलन या अलग होने के कारण रिलीज में मजाकिया त्रुटियों को देखने की उम्मीद है स्मृति लेआउट या प्रारंभिकरण में ences। ये ususally रिलीज के रूप में भेजा जाता है - केवल कीड़े :)

निष्पादन की गति के मामले में, एक रिलीज निष्पादन सुनिश्चित करें के लिए तेजी से निष्पादित करेगा, लेकिन हमेशा नहीं इस अलग महत्वपूर्ण हो जाएगा "गूगल और उपयोगकर्ता के

सौजन्य। mcdeeiis http://haacked.com/archive/2004/02/14/difference-between-debug-vs-release-build.aspx

यह सभी प्रोग्रामिंग भाषाओं

+3

धन्यवाद रॉस अलेक्जेंडर लिंक के लिए, यह बताता है कि कुछ प्रतीकात्मक डीबग जानकारी डीबग मोड में जेनरेट की जाएगी, इसका मतलब क्या है, वास्तव में, उन जानकारी को कहां देखना है, क्या यह त्रुटियों को साफ़ करने के लिए उपयोगी होगा, अगर ऐसा है तो त्रुटियों को डीबग करने और साफ़ करने के लिए इसका उपयोग, क्या आप एक उदाहरण समझा सकते हैं। – pradeepa

+3

प्रतीकात्मक डीबग जानकारी: जानकारी जो स्रोत कोड पर बाइनरी जानकारी को जोड़ती है। जैसे लाइन नंबर, परिवर्तनीय नाम इत्यादि। आपको अपने कोड कोड के संदर्भ में अपना कोड डीबग करने की अनुमति देता है। निश्चित रूप से डीबगिंग के मामले में मदद मिलती है लेकिन आप पहले से ही इस जानकारी का उपयोग किए बिना इस जानकारी का उपयोग कर रहे हैं :) मेरा मानना ​​है कि आप इस जानकारी को रिलीज मोड में बदल सकते हैं साथ ही एक्सकोड में एक सेटिंग भी बदल सकते हैं लेकिन मुझे उस पर उद्धरण नहीं देते: पी जैसा कि मैं नहीं हूं इस समय – Candyfloss

+0

पर एक्सकोड के सामने :) मुझे इन चीजों को समझने के लिए कंपाइलर डिज़ाइन का अध्ययन करना पड़ सकता है, धन्यवाद। :) – pradeepa

2

रिलीज़ संस्करण अधिक बेहतर प्रदर्शन और छोटे आकार के लिए अनुकूलित है के लिए एक बहुत ही ठोस व्याख्या है।

व्यक्तिगत अभ्यास से भी मैं कह सकता हूं कि रिहाई कॉन्फ़िगरेशन में अधिक चेतावनियां चालू करने के लिए उपयोगी है कि कौन सी विधियों का उपयोग नहीं किया जाता है, किस तरीके से घोषणा नहीं होती है जहां हस्ताक्षरित/हस्ताक्षरित की तुलना की जा रही है और साथ ही साथ अन्य उपयोगी सामान भी उपलब्ध हैं।

+1

आप उन चेतावनियों को डीबग मोड में क्यों नहीं बदलेंगे, साथ ही? –

+0

चूंकि वे कार्यात्मक से अधिक पैडेंटिक हैं - मेरे लिए चेतावनी मुक्त कोड होना अच्छा लगता है। – Eimantas

+1

मैं * रिलीज * मोड में चेतावनी मुक्त कोड रखना पसंद करता हूं। डीबग मोड में यह कहीं अधिक महत्वपूर्ण है। अगर मैं पहले डीबग मोड में बग को ठीक करता हूं, तो जब मैं रिलीज मोड पर स्विच करता हूं तो वे चले जाएंगे। इससे भी महत्वपूर्ण बात यह है कि, "पैडेंटिक" मुद्दे आपके कोड में डिज़ाइन त्रुटियों को इंगित करते हैं-आपको डिज़ाइन/डिबग समय पर उनको ठीक करने की आवश्यकता होती है, न कि जब आप परीक्षण/रिलीज करने के लिए तैयार हों। –

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