У меня есть метод, который вызвал в моем приложении iPhone в непредвиденное время, и я не могу понять, какой код его вызывает. Есть ли способ найти это из метода Objective C или функции Xcode? В основном ...Как узнать, какой код вызывает метод?
- (void)myMethod {
NSLog(@"who just called me?");
}
Этот метод вызывается из множества мест в моем коде, так что просто ищет имя метода не сужать его вниз достаточно. Я мог бы временно добавить аргумент к методу, а затем отредактировать каждый вызов метода, чтобы добавить уникальный идентификатор в качестве аргумента, но для этого потребуется много изменений, а затем отмените все изменения, когда я закончу.
В идеале я бы нашел номер класса и строки кода, который вызвал этот метод. Мне не нужно использовать эту информацию в методе, мне просто нужно ее для отладки.
Думаю, я делал это более сложным, чем нужно. Это работает отлично. Чтобы уточнить, когда приложение приостанавливается, я могу ввести bt в консоль или щелкнуть значок «spool of thread» между окном кода и консольным окном, чтобы просмотреть список потоков и трассировку стека для каждого потока. – arlomedia
Да. Отладчик покажет вам текущую трассировку стека в левой панели Xcode. Или вы можете вводить команды в окно отладчика. – rmaddy