2011-03-28 3 views
11

Я недавно загрузил xcode 4 и прочитал руководство по переходу xcode, однако мне все еще интересно, как мне получить такую ​​же функцию для отладчик в xcode 4, как в xcode 3.2.Как отобразить точную строку кода, приводящую к сбою приложения в xcode 4 отладчике, например, в xcode 3.2

Когда я программирую в xcode 3.2 и запускаю свое приложение, если в моем коде произошел сбой в программе, я мог просто нажать команду + shift + y, и я получу режим отладки, который покажет, какой линии, с которой он падает. Тем не менее, я не могу заставить это работать для xcode 4.

Я знаю, что я могу посмотреть, какая строка, которая на самом деле вызывает сбой, глядя на стеклу, однако, что эта функциональность в xcode 3.2 действительно меня спасает время. Просто интересно, знает ли кто, как это сделать в xcode 4.

ответ

29

Вам необходимо добавить контрольную точку исключения. Выберите «Навигатор точек останова», нажмите кнопку «Добавить» (+) внизу, а затем выберите «Добавить точку останова исключений» ... Это должно заставить отладчик приостанавливаться в любое время, когда он встречает исключение. Обратите внимание: вы должны включить кнопку Breakpoints (справа от селектора схем на панели инструментов). Также обратите внимание, что в Xcode 4 Run с включенными точками останова является синонимом «Build and Debug» в предыдущих версиях.

+1

Отлично !!! Действительно, он должен быть включен по умолчанию! Я потратил много времени, отлаживая линию за строкой. –

+0

Не все исключения за вами заботятся. Рассмотрите глубокие исключения в структуре QTKit при работе с камерой. Во многих случаях исключения генерируются и обрабатываются путем генерирования ошибки, которую вы должны поймать, иметь дело или иметь. В этот момент отладочная сборка, вероятно, не поможет; изучение ошибки и попытка принятия корректирующих мер в вашем приложении - лучший подход на уровне вашего приложения, поскольку это было бы неизбежным (по вашему приложению) системным событием. –

+0

Моя точка зрения заключается в том, что Xcode не делает много потенциально запутывающих предположений о том, как вы хотите, чтобы отладчик вел себя, но он облегчает переключение переключателя и прерывание исключений в Objective-C. –