2015-08-10 14 views
17

Это не вопрос, потому что я уже нашел обходное решение. Я публикую его, чтобы другие могли воспользоваться преимуществами часов, которые я потратил на него, и использовать предлагаемое мной решение.iOS9: дублированные строки в отчетах о сбоях вызывают симпатию crash

У меня какие-то странные отчеты о сбоях - одна строка дублируется много раз:

... 
0x190e08000 -  0x190e49fff Notes arm64 <f45c09ce977b3282ab0e879252dfebee> /System/Library/PrivateFrameworks/Notes.framework/Notes 
0x190f9c000 -  0x190fa6fff NotificationsUI arm64 <73dcb247ed183ce7bb330d7bb55f93bd> /System/Library/PrivateFrameworks/NotificationsUI.framework/NotificationsUI 
0x190fa8000 -  0x190faafff OAuth arm64 <c2658cb3208b342dbe1e91cea30ebdd5> /System/Library/PrivateFrameworks/OAuth.framework/OAuth 
0x191900000 -  0x191903fff ParsecSubscriptionServiceSupport arm64 <c70467637c9332c7b0be897200c9ccb1> /System/Library/PrivateFrameworks/ParsecSubscriptionServiceSupport.framework/ParsecSubscriptionServiceSupport 
0x191900000 -  0x191903fff ParsecSubscriptionServiceSupport arm64 <c70467637c9332c7b0be897200c9ccb1> /System/Library/PrivateFrameworks/ParsecSubscriptionServiceSupport.framework/ParsecSubscriptionServiceSupport 
0x191900000 -  0x191903fff ParsecSubscriptionServiceSupport arm64 <c70467637c9332c7b0be897200c9ccb1> /System/Library/PrivateFrameworks/ParsecSubscriptionServiceSupport.framework/ParsecSubscriptionServiceSupport 
0x191900000 -  0x191903fff ParsecSubscriptionServiceSupport arm64 <c70467637c9332c7b0be897200c9ccb1> /System/Library/PrivateFrameworks/ParsecSubscriptionServiceSupport.framework/ParsecSubscriptionServiceSupport 
0x191900000 -  0x191903fff ParsecSubscriptionServiceSupport arm64 <c70467637c9332c7b0be897200c9ccb1> /System/Library/PrivateFrameworks/ParsecSubscriptionServiceSupport.framework/ParsecSubscriptionServiceSupport 
0x191900000 -  0x191903fff ParsecSubscriptionServiceSupport arm64 <c70467637c9332c7b0be897200c9ccb1> /System/Library/PrivateFrameworks/ParsecSubscriptionServiceSupport.framework/ParsecSubscriptionServiceSupport 
0x191900000 -  0x191903fff ParsecSubscriptionServiceSupport arm64 <c70467637c9332c7b0be897200c9ccb1> /System/Library/PrivateFrameworks/ParsecSubscriptionServiceSupport.framework/ParsecSubscriptionServiceSupport 
0x191900000 -  0x191903fff ParsecSubscriptionServiceSupport arm64 <c70467637c9332c7b0be897200c9ccb1> /System/Library/PrivateFrameworks/ParsecSubscriptionServiceSupport.framework/ParsecSubscriptionServiceSupport 
0x191900000 -  0x191903fff ParsecSubscriptionServiceSupport arm64 <c70467637c9332c7b0be897200c9ccb1> /System/Library/PrivateFrameworks/ParsecSubscriptionServiceSupport.framework/ParsecSubscriptionServiceSupport 
0x191900000 -  0x191903fff ParsecSubscriptionServiceSupport arm64 <c70467637c9332c7b0be897200c9ccb1> /System/Library/PrivateFrameworks/ParsecSubscriptionServiceSupport.framework/ParsecSubscriptionServiceSupport 
0x191900000 -  0x191903fff ParsecSubscriptionServiceSupport arm64 <c70467637c9332c7b0be897200c9ccb1> /System/Library/PrivateFrameworks/ParsecSubscriptionServiceSupport.framework/ParsecSubscriptionServiceSupport 
0x191900000 -  0x191903fff ParsecSubscriptionServiceSupport arm64 <c70467637c9332c7b0be897200c9ccb1> /System/Library/PrivateFrameworks/ParsecSubscriptionServiceSupport.framework/ParsecSubscriptionServiceSupport 
0x191900000 -  0x191903fff ParsecSubscriptionServiceSupport arm64 <c70467637c9332c7b0be897200c9ccb1> /System/Library/PrivateFrameworks/ParsecSubscriptionServiceSupport.framework/ParsecSubscriptionServiceSupport 
0x191900000 -  0x191903fff ParsecSubscriptionServiceSupport arm64 <c70467637c9332c7b0be897200c9ccb1> /System/Library/PrivateFrameworks/ParsecSubscriptionServiceSupport.framework/ParsecSubscriptionServiceSupport 
0x191900000 -  0x191903fff ParsecSubscriptionServiceSupport arm64 <c70467637c9332c7b0be897200c9ccb1> /System/Library/PrivateFrameworks/ParsecSubscriptionServiceSupport.framework/ParsecSubscriptionServiceSupport 
0x191900000 -  0x191903fff ParsecSubscriptionServiceSupport arm64 <c70467637c9332c7b0be897200c9ccb1> /System/Library/PrivateFrameworks/ParsecSubscriptionServiceSupport.framework/ParsecSubscriptionServiceSupport 
0x191900000 -  0x191903fff ParsecSubscriptionServiceSupport arm64 <c70467637c9332c7b0be897200c9ccb1> /System/Library/PrivateFrameworks/ParsecSubscriptionServiceSupport.framework/ParsecSubscriptionServiceSupport 
0x191900000 -  0x191903fff ParsecSubscriptionServiceSupport arm64 <c70467637c9332c7b0be897200c9ccb1> /System/Library/PrivateFrameworks/ParsecSubscriptionServiceSupport.framework/ParsecSubscriptionServiceSupport 
0x191900000 -  0x191903fff ParsecSubscriptionServiceSupport arm64 <c70467637c9332c7b0be897200c9ccb1> /System/Library/PrivateFrameworks/ParsecSubscriptionServiceSupport.framework/ParsecSubscriptionServiceSupport 
0x1919c8000 -  0x1919ebfff Pegasus arm64 <82f60f2d5ad73b5fa89d283a4e992e88> /System/Library/PrivateFrameworks/Pegasus.framework/Pegasus 
0x191a30000 -  0x191a57fff PersistentConnection arm64 <8d0b7602daee3aa588c37704a6e3a206> /System/Library/PrivateFrameworks/PersistentConnection.framework/PersistentConnection 
... 

это вызвало symbolicatecrash (Perl) скрипт застрять. Причина в том, что сценарий изначально предназначался для создания аналогичных записей, предполагая, что у них есть другой базовый адрес. Однако этот код никогда не работает, потому что у него есть ошибка:

# add ourselves to that chain 
$images{$nextIDKey}{nextID} = $image{base}; 

# and store under the key we just recorded 
$bundlename = $bundlename . $image{base}; 

Исправлена ​​ошибка в том, что первая строка должна быть на самом деле:

$images{$nextIDKey}{nextID} = $bundlename . $image{base}; 

Однако я предлагаю в обходной что будет игнорируйте эти дублированные строки, добавив команду next немного выше этого кода, то есть

# frameworks and apps (and whatever) may share the same name, so disambiguate 
if (defined($images{$bundlename})) { 
    next; 

Это не чистое решение, потому что здесь мы не имеем какой-либо защиты, но, по крайней мере, это будет работать для большинства случаев.

В любом случае, надеемся, что Apple скоро удалит эти дубликаты.

+1

Я голосую, чтобы закрыть этот вопрос не по теме, потому что это отчет об ошибке, а не вопрос. – Kreiri

+3

Привет, Крейри, я знаю. Я мог бы задать вопрос о том, почему он застрял, а затем вернуться с решением. Или я просто не мог бы поделиться результатом двухдневной работы, которая могла бы сэкономить другим большую головную боль ... – ishahak

+0

Спасибо, что поделились этим, это было действительно полезно для меня. Однако я согласен с Крейри, что это ответ, а не вопрос. Было бы лучше структурировано задавать вопрос, а затем отправить отдельный ответ (и таким образом я мог бы дать вам голосование за хороший вопрос и хороший ответ!) –

ответ

5

Вы можете использовать следующий скрипт, который будет залатать symbolicatecrash исправить:

curl -o /tmp/t.patch https://raw.githubusercontent.com/zqxiaojin/OptSymbolicatecrash/master/fix_dead_loop.patch && cd `xcode-select -p`/../SharedFrameworks/DTDeviceKitBase.framework/Versions/A/Resources/ && sudo patch symbolicatecrash /tmp/t.patch && cd - 

Или скопировать symbolicatecrash из моего GitHub https://github.com/zqxiaojin/OptSymbolicatecrash

+0

Дает ошибку разрешения bash при копировании из github и выполняется с терминала –

+0

sh: /Volumes/40gb/Applications/Xcode.app/Contents/Developer/usr/bin/ xcrun: Нет такого файла или каталога ## Предупреждение: не удается найти инструмент с именем 'otool' в SDK ipados, возвращаясь к поиску SDK iOS sh: /Volumes/40gb/Applications/Xcode.app/Contents/Developer/usr/bin/xcrun: Нет такого файла или каталога ## Предупреждение: не удается найти инструмент с именем 'otool' в SDK для iOS, возвращаясь к поиску Mac OS X SDK sh:/Volumes/40gb/Applications/Xcode .app/Содержание/Разработчик/usr/bin/xcrun: Нет такого файла или каталога ... –

+0

curl -o /tmp/t.patch https://raw.githubusercontent.com/zqxiaojin/OptSymbolicate crash/master/fix_dead_loop.patch && cd 'xcode-select -p' /../ SharedFrameworks/DTDeviceKitBase.framework/Версии/A/Resources/&& sudo patch symbolicatecrash/tmp/t.patch && cd - % Всего% полученных% Xferd Средняя скорость Время Время Время Текущий Dload Загрузить Общая потерянная левая скорость 100 1087 100 1087 0 0 4462 0 -: -: - -: -: - - -: -: - 4473 Пароль: Патч: **** Невозможно найти файл symbolicatecrash: Нет такого файла или каталога –

 Смежные вопросы

  • Нет связанных вопросов^_^