Как включить отладчик Visual Memory в Xcode 8?
Я перенес проект из предыдущей версии Xcode в Xcode 8. Я хочу использовать новый отладчик визуальной памяти. Он доступен в новых проектах, но полностью отсутствует в моем импортированном. Почему это?
Ответы
Ответ 1
Похоже, для работы Visual Debugger требуется Swift 3.
Мое приложение, перенесенное в Swift 2.3, не работало, когда я попытался перевести его в Swift 3.0, он работал мгновенно.
Флажок очистки среды выполнения не требуется для работы отладчика визуальной памяти, однако причина, по которой он отключен, одинаков.
Ответ 2
Кажется, что для проекта требуется, чтобы Swift 3 включил систему адресации и фильтрации нитей (которая является отладчиком памяти).
![дезинфицирующее средство для нитей]()
Для меня это относится как к приложениям iOS, так и к OS X/macOS. Оба написаны в Swift 2.2 и преобразуются в 2.3.
Примечание. Я тестировал это только на OS X El Capitan 10.11.5.
@gabriellanata подтверждает, что он работает, когда код преобразуется в Swift 3.
Ответ 3
Я только что запустил проект Objective-C iOS 7, сделанный с Xcode 7 в Xcode 8 (без миграции), а значок Visual Debugger в нижней части Xcode появится в области отладки рядом с кнопкой "Инициализация отладки".
![Отладчик Visual memory]()
Это кнопка с тремя кругами.
Из других комментариев, похоже, для использования этой функции может потребоваться Swift 3.
Ответ 4
Argument '-sanitize=address' is not supported on the Swift 2.3 toolchain.
You will need to migrate your project to Swift 3 to use this feature.
Ошибка сборки Xcode 8
P.S. Objective-c, поддерживаемый отладчиком Visual Memory
Ответ 5
Если вы нажмете на "Память", панель редактора источника изменится, чтобы отобразить некоторую информацию о памяти, в том числе о том, почему она отключена. В моем случае это было связано с тем, что в схеме были включены объекты зомби. (Xcode 8.3.2)