Я пытаюсь отладить небольшой прототип для приложения для iPhone (iOS Simulator 4.1), скомпилированного как Debug, со всей конфигурацией, видимо, в порядке.
Приложение использует графический движок Cocos2d и библиотеку GDataXMLNode (для чтения XML).Там не так много вещей происходит.Но при определенном методе, если я устанавливаю точку останова, gdb просто «останавливается».
Вот строка состояния отладчика после того, как он достигнет точки останова:

А вот код с точкой останова (снимок):

примечание : точка останова может быть где угодно в этой функции, и она одинакова.
И это код вызова (из другого объекта)
self.map = [SimulationLoader loadMap];
Ни одна из кнопок редактора не работает, если в «loadMap» установлена точка останова (шаг вперед, шаг вперед, следующий,продолжить выполнение и т. д.). Я могу остановить и / или перезапустить отладку, и она работает (но возвращается к началу). Приглашение gdb позволит мне написать, но ничего не происходит. Я не могу просмотреть значения объектов или что-либо связанное с отладкойЯ не могу возобновить выполнение, оно ничего не сделает.
Странно то, что если я поставлю точку останова до или после этой строки (loadMap), все это работает, и я могу выйти или, отладить его и сделатьвсе, что я хочу сделать.
Чего мне не хватает?
Через пару секунд после достижения «сбойной» точки останова (и «зависания») окно стека очищается.Я считаю, что все это происходит потому, что GDB остановился, но вопрос в том, почему он останавливается там?Каковы ограничения для этого?
Я компилирую с LLVM GCC 4.2 для чего стоит (но, возможно, может измениться на другой, если это проблема, не пробовал это, потому что я не знаю много оразличия).