Я отлаживаю приложение для iPhone, которое пишу в Xcode, но иногда теперь отладчик (который является GDB) сильно тормозит (делает пошаговую отладку) и иногда перестает отвечать на запросы (значки для входа , переход, выход не активируются), после этого иногда он возвращается к нормальному состоянию и продолжается, а в других случаях он остается таким же навсегда или в консоли появляется сообщение: «Превышено время ожидания» (или что-то подобное), и я вижу мой процессор от монитора активности идет до 90%. В качестве обходного пути я обычно ставил точку прерывания после строки кода, которая меня интересовала, и просто переходил с «Продолжить» к «Продолжить» (при этом он работал отлично и быстро).
Может ли это зависеть от кода? Есть ли способ отладки отладчика (поведение)?
UPDATE :
Полное сообщение
Timed out fetching data. Variable display may be inaccurate.
Погуглив это, я обнаружил, что это происходит, когда Xcode GDB пытается заглянуть внутрь средств форматирования данных. Кто-то предложил отключить Run> Variable View> Use Data Formatter (в xcode 3.2, предыдущий, я думаю, это Debug-> Variables
View-> Enable Data Formatters), и, похоже, у меня тоже работает (до сих пор)
Так что теперь я спрашиваю: почему? : D
UPDATE2 :
Это решило отладчик не останавливаться на определенной части кода, но он все еще зависает (с тем же сообщением) в другом вызове. Мне кажется, что это связано с некоторым CoreData API, таким как (NSEntityDescription*)entityForName: inManagedObjectContext:
Update3 :
Будет ли лучше кэшировать описание NSEntityDescription вместо того, чтобы всегда создавать новое?