Как я уже говорил, я пытаюсь восстановить строку сбоя, а также функцию, в которой она встречается.
Мне нужно измерить, что я пробовал следующий код в AppDelegate, и я получаю, что стек не символизирован, а класс, а также ошибка выбрана:
NSSetUncaughtExceptionHandler(&uncaughtExceptionHandler);
void uncaughtExceptionHandler(NSException *exception) {
NSLog(@"Exception description - %@",[exception description]);
NSLog(@"Exception name - %@", [exception name]);
NSLog(@"Reason - %@", [exception reason]);
NSLog(@"\n\n - %@", [exception callStackSymbols]);
NSLog(@"\n\n - %@", [exception callStackReturnAddresses]);
}
Но, используя их, я не получаю строку сбоя, поскольку я намерен сохранить ее в CoreData.
Также меня не интересует xcode aproaches как: "Добавить точку исключения исключений" или другие aproaces как: XCode > Окно > Устройствa > просмотр журналов сбоев на устройстве, тест Flight aproaches или реализация других фреймворков в приложении как Crashlytics.
Я упоминаю об этом, потому что мне очень интересно, как это можно сделать с помощью кода.
Также я могу получить dsym из архива приложения, когда он сделан, и загрузите его на сервер с помощью RunScript, написанного с помощью Bash. Поэтому я могу использовать dsym, если это необходимо для достижения линии сбоя.
Также я знаю, что следующий aproach можно использовать для получения текущей строки кода: LINE и _FUNCTION__, чтобы получить имя функции.
Также, если вы можете предоставить примеры кода из open-source PLCrashReporter, как они это сделают, я буду очень благодарен.
Чем вы все заранее!:)