Чтобы «увидеть» промежуточные результаты при использовании отладчика, вам придется изменить структуру вашего кода, чтобы вернуться к основному циклу выполнения, чтобы у UIImageView была возможность запустить и отобразить новое изображение. Вы можете установить таймер, который запускается периодически, и в процедуре таймера вы меняете изображение UIImageView на следующее в последовательности. Затем вы устанавливаете точку останова в методе обработчика таймера в gdb, и когда вы достигаете этой точки останова каждый раз, вы должны увидеть ранее отображенное изображение.
РЕДАКТИРОВАТЬ: вот еще некоторые детали, основанные на том, что я думаю, вы хотите сделать. Поймите, однако, что я думаю, что нет «волшебной палочки», чтобы можно было видеть изменения на экране, пока вы находитесь в отладчике. Вы должны вернуться к Run Loop, чтобы ваши виджеты UIKIt получали циклы для рисования сами.
Например, скажем, у вас есть этот метод:
- (void) updateTwoLabels:(NSString *)newText
{
self.label1.text = newText;
self.label2.text = newText; // put breakpoint on this line
}
и вы хотите остановиться в отладчике непосредственно перед тем, как будет установлен текст label2, и увидеть, что label1 изменился. Ну, я думаю, что нет никакого способа сделать это, кроме как изменить ваш код и снова вызвать себя с executeSelector: withObject: afterDelay: чтобы основной цикл выполнения мог работать некоторое время, а затем снова вызвать ваш код:
BOOL callAgain = NO;
BOOL setLabel2 = YES;
- (void) updateTwoLabels:(NSString *)newText
{
self.label1.text = newText;
if ( setLabel2 )
self.label2.text = newText; // put breakpoint on this line
if ( callAgain )
[self performSelector:@selector(updateTwoLabels:) withObject:newText afterDelay:0];
}
таким образом, когда вы отлаживаете, вы можете установить callAgain в YES и установить Label2 в NO в gdbg и продолжать «продолжать», пока не увидите, что label1 изменился. Это основная техника.