2015-09-17 4 views
8

मैंने नए Xcode 7 में Apple docs में रनटाइम स्वच्छता के बारे में पढ़ा, इसलिए मैंने इसकी तलाश की, और पाया कि यह अक्षम है। मैं एक्सकोड 7 जीएम बीज का उपयोग कर रहा हूँ।एक्सकोड 7 में अक्षम "पता स्वच्छता सक्षम करें" क्यों है?

जब मैं इस योजना का भागो कार्रवाई में जाना> निदान टैब, Enable Address Sanitizer विकल्प अक्षम होता है:

enter image description here

वहाँ कैसे अन्य विकल्प disbled कर रहे हैं के बारे में कुछ विवरण है, लेकिन क्यों का कोई जिक्र नहीं स्वच्छता विकल्प अक्षम कर दिया जाएगा:

कुछ डायग्नोस्टिक टूल्स का उपयोग दूसरों के साथ संयोजन में किया जा सकता है; डायग्नोस्टिक फलक पर उपलब्ध विकल्प सक्षम और अक्षम हैं क्योंकि विकल्प संयोजनों का चयन करने में आपकी सहायता के लिए अलग-अलग विकल्प चुने गए हैं। उदाहरण के लिए, पता प्रक्षालक सक्षम और अन्य, असंगत उपकरण ऐसा लगता है कि यह भी एक ध्वज जोड़कर, सक्रिय किया जा सकता अक्षम हैं और

नहीं चुना जा सकता Clang 3.8 documentation for Addresssanitizer को देखते हुए,: -fsanitize=address। लेकिन जहां इस ध्वज को बिल्ड सेटिंग्स में इस्तेमाल किया जाना चाहिए, एक रहस्य है, और संदिग्ध है क्योंकि यह योजना में चेकबॉक्स विकल्प के रूप में भी मौजूद है।

इसके अलावा इस SO answer पाया है, लेकिन यह कुछ जटिल है, और शायद पुरानी हो चुकी है, क्योंकि यह 2013

उत्तर

9

में वापस आ गया था आप वर्तमान में गार्ड Malloc उपयोग नहीं कर सकते और एक साथ प्रक्षालक पता। सक्षम गार्ड मॉलोक चेकबॉक्स का चयन करना सक्षम पता Sanitizer चेकबॉक्स अक्षम करता है। यदि आप पता स्वच्छता का उपयोग करना चाहते हैं तो सक्षम गार्ड मॉलोक चेकबॉक्स को अचयनित करें।

+0

मेरे पास पहले से ही 'गार्ड मॉलोक' सक्षम किया गया था, और इसे अचयनित करने के बारे में नहीं सोचा था। धन्यवाद! – Sheamus

+2

निम्न विकल्पों में से एक को सक्षम करना पता स्वच्छता का उपयोग करने से रोकता है: मॉलोक स्क्रिबल सक्षम करें, मॉलोक गार्ड एज सक्षम करें, गार्ड मॉलोक और मॉलोक स्टैक सक्षम करें। इन सभी विकल्पों को अनचेक किया जाना चाहिए ताकि पता स्वच्छता सक्रिय किया जा सके। – Dalzhim

+0

वह मामला क्यों है? – jcanizales

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