Почему" Enable Address Sanitizer " отключен в Xcode 7?



Я прочитал о дезинфекции среды выполнения в Apple docs в новом Xcode 7, поэтому я искал его и обнаружил, что он отключен. Я использую Xcode 7 GM seed.



Когда я перехожу в действие выполнить на вкладке схема > Диагностика, опция Enable Address Sanitizer отключена:



Введите описание изображения здесь



Существует некоторое объяснение того, как отключаются другие опции, но нет упоминания о том, почему опция дезинфекции будет отключена:




Можно использовать некоторые диагностические инструменты в сочетании с другими; параметры, доступные на панели диагностики, включаются и отключаются по мере выбора различных параметров, чтобы помочь вам выбрать комбинации параметров. Например, включить дезинфицирующее средство адреса и другие несовместимые инструменты отключены и не могут быть выбраны




Глядя на документацию Clang 3.8 для Addresssanitizer , похоже, что его также можно включить, добавив флаг: -fsanitize=address. Но где этот флаг должен использоваться в настройках сборки - это тайна, и сомнительная, поскольку она также существует в качестве опции флажка в схеме.



Также нашел этот так Ответ, но он довольно сложен и, вероятно, устарел, так как это было еще в 2013 году.

366   2  

2 ответов:

В настоящее время вы не можете использовать Guard Malloc и Address Sanitizer вместе. Установив флажок Включить предохранитель Танос отключает флажок Включить адрес дезинфектор. Снимите флажок Enable Guard Malloc, если вы хотите использовать средство для очистки адресов.

Вы также должны быть уверены, что у вас есть выбранный симулятор Mac/iOS/TV, а не устройство. Симулятор часов не поддерживается. (По состоянию на Xcode 9)

Comments

    Ничего не найдено.