Я пытаюсь использовать symbolicatecrash, и получаю интересные результаты. Коллега построил нашу дистрибутивную сборку на другом компьютере, поэтому он прислал мне файл dSYM. После запуска файла symbolicatecrash, найденного в
/ Разработчик / Платформы / iPhoneOS.platform / Разработчик / Library / PrivateFrameworks / DTDeviceKit.framework / Версии / A / Ресурсы / symbolicatecrash
заполняет все функции Apple, но не мои. Похоже, проблема в том, что он не может (или не хочет) найти файл dSYM, возможно потому, что в нем есть информация о компьютере моего коллеги. Когда я копирую шестнадцатеричный адрес из отчета о сбое, я могу использовать dwarfdump следующим образом:
dwarfdump --lookup 0x0001f892 - путь к архиву armv6 / в / MyApp.app.dSYM
Это дает мне номер строки этого единственного вызова правильно. Кроме того, symbolicatecrash может вычислить номера строк игры из нашего кода, но не Apple. Я не знаю, почему он не видит вещи Apple, но все это заставляет меня поверить, что проблема в том, чтобы найти dSYM, как упоминалось ранее.
Итак. Есть ли способ просто передать путь dSYM в команду symbolicatecrash, или каким-нибудь другим способом заставить его работать? Потому что, на самом деле, совершенно глупо делать инструмент, который выполняет какой-то волшебный «поиск» вашего файла, только чтобы не найти его, потому что не хочет.
Кроме того, есть идеи, почему сборка моего коллеги не будет отображать какие-либо функции Apple?
И пока я здесь, что означает "+" в файле сбоя? Как это:
0x00059f8c - [UIWindow sendEvent:] + 108