Установка точки останова XCode по коду? (например, функция pause ()) - PullRequest
1 голос
/ 23 октября 2010

Я нахожу способ приостановить выполнение программы с помощью кода на XCode. Например, я могу остановить выполнение с помощью функции abort() C.Это вызывает Xcode debugger.

Однако, это полностью закрывает программу, поэтому я нахожу способ приостановить выполнение.Поэтому я могу возобновить выполнение после проверки состояний выполнения.

Это необходимо для обработки легких ошибок.Я пробовал функцию pause() C, но она не работает.Выполнение прервано вместо приостановки.

Ответы [ 2 ]

9 голосов
/ 23 октября 2010

Если вы хотите иметь возможность ломать определенную функцию при возникновении ошибки, определите функцию следующим образом:

void BREAK_HERE_Eonil(void) {
    NSLog(@"Set a breakpoint on BREAK_HERE_Eonil to debug.\n");
}

Вызывайте BREAK_HERE_Eonil() всякий раз, когда вы хотите войти в отладчик.Установите точку останова на BREAK_HERE_Eonil() в Xcode.Теперь запустите под отладчиком.Всякий раз, когда вы нажимаете эту функцию, вы входите в отладчик.

Вы также можете использовать старый вызов Debugger();Xcode имеет опцию в меню «Выполнить» для «Остановить на Debugger () / DebugStr ()».

Вы также можете просто запустить свое приложение под отладчиком и нажать большую кнопку паузы в окне отладчика, когда захотите.взломать.

1 голос
/ 19 июля 2013

Другой метод, который я часто использую в программировании на iOS, - это включение точки останова в оператор if.Вот так:

if (your_condition) {

   //put an Xcode breakpoint here

}

Таким образом, я могу условно вызывать точки останова в циклах и других местах, которые слишком часто вызываются, чтобы иметь безусловную точку останова.

...