Xcode Guard Malloc и отладка устройства: изображение "libgmalloc.dylib" не найдено

Я включил проверку памяти в Xcode (Edit Scheme → Options). Теперь я получаю следующее, когда выполняю отладку устройства: dyld: could not load inserted library '/usr/lib/libgmalloc.dylib' because image not found. Мера была принята проактивно в надежде поймать ошибки в начале цикла.

Не проверяется ли проверка памяти на устройстве? Он представляется его действительным, поскольку он был признан и исследован в соответствии с http://lists.apple.com/archives/xcode-users/2012/Mar/msg00271.html. Кроме того, Xcode не жаловался на компиляцию и ссылку. Если это недействительно для устройства, почему Xcode вставляет библиотеку? Есть ли какие-либо решения? Googling вернул несколько показов, но я не видел конкретных решений.

Как включить Xcode Guard Malloc при отладке на устройстве?

Ответ 1

Чтобы обойтись, я создал две новые схемы Xcode. Один из них называется "XXX-устройство" и не включает в себя защитников malloc; второй - "XXX Simulator" и включает в себя защитники malloc.

Добавление схемы для целей устройства/симулятора сомнительно (http://www.cocoabuilder.com/archive/xcode/303307-why-does-xcode-create-nonsensical-destinations-in-every-scheme.html), По-видимому, Дэйв Дункан не столкнулся с проблемой, когда Xcode не делает что-то правильно (или он не использует такие инструменты, как защита malloc).

Это пахнет нежелательным программным обеспечением Купертино. +1 к Apple и его дерьмовому отделу QA (если он существует), который позволяет освободить еще одну ошибку.

Ответ 2

Вы не можете использовать GuardMalloc на устройстве.

Ответ 3

Как и другие, вы не можете использовать Enable Guard Malloc на устройстве, но можете использовать его на симуляторе.

Все 3 других параметра управления памятью, начиная с Xcode 7.3.1, могут использоваться на устройстве: Enable Malloc Scribble, Enable Malloc Guard Edges и Enable Zombie Objects.

Ответ 4

Устройство перезагрузки исправлено. iOS не обновлен. Действительно плохо!