मैं इस तरह के कोड का जिक्र कर रहा हूं:

#if DEBUG
    // Some code with sensitive account information used for debugging
#endif

इस मामले में मैं हर बार टाइप किए बिना अपनी डिबगिंग खाता जानकारी आसानी से लोड करने के लिए प्रीकंपेलर ध्वज का उपयोग कर रहा हूं।

मेरी चिंता यह है कि क्या संवेदनशील खाता जानकारी "रिलीज़" बिल्ड पर किसी भी रूप में शामिल की जाएगी।

मेरी समझ यह है कि इस मामले में कोड का हिस्सा संकलन से पहले ही छीन लिया जाएगा (बेशक यह मानते हुए कि रिलीज कॉन्फ़िगरेशन के लिए DEBUG ध्वज सेट नहीं है)।

2
Pochi 26 अक्टूबर 2018, 05:22

1 उत्तर

सबसे बढ़िया उत्तर

यह मानते हुए कि DEBUG ध्वज रिलीज़ बिल्ड में सेट नहीं है, तो #if DEBUG और #endif के अंदर कोई भी कोड परिणामी ऐप में संकलित नहीं किया जाएगा।

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

2
rmaddy 26 अक्टूबर 2018, 02:26