Может ли кто-нибудь помочь мне прочитать этот отчет о сбое как пользователь?

19

Как я могу прочитать отчет о сбое, чтобы понять, что произошло?

Образец санированного отчета о сбое:

Process:         SoftwareUpdateCheck [16198]
Path:            /System/Library/CoreServices/Software Update.app/Contents/Resources/SoftwareUpdateCheck
Identifier:      SoftwareUpdateCheck
Version:         ??? (???)
Code Type:       X86-64 (Native)
Parent Process:  launchd [199]

Date/Time:       2010-09-01 21:23:45.353 -0600
OS Version:      Mac OS X 10.6.4 (10F569)
Report Version:  6

Interval Since Last Report:          112357 sec
Crashes Since Last Report:           2
Per-App Crashes Since Last Report:   1
Anonymous UUID:                      0ED5F3B8-BF2C-450D-9178-740EECC74D2E

Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: 0x000000000000000d, 0x0000000000000000
Crashed Thread:  6

Application Specific Information:
objc_msgSend() selector name: respondsToSelector:


Thread 0:  Dispatch queue: com.apple.main-thread
0   com.apple.CoreFoundation        0x00007fff84457869 __CFStrConvertBytesToUnicode + 41
1   com.apple.CoreFoundation        0x00007fff8446e79d _CFPropertyListCreateFromXMLStringError + 2349
2   com.apple.CoreFoundation        0x00007fff8446d440 _CFPropertyListCreateWithData + 416
3   com.apple.CFNetwork             0x00007fff88eabe34 MemoryCookies::inflateFromData(__CFData const*) + 48
4   com.apple.CFNetwork             0x00007fff88eab920 DiskCookieStorage::syncStorageLocked(unsigned char) + 440
5   com.apple.CFNetwork             0x00007fff88ebb6b7 PrivateHTTPCookieStorage::syncStorage() + 45
6   com.apple.CFNetwork             0x00007fff88ebb616 _CFHTTPCookieStorageFlushCookieStores + 136
7   libSystem.B.dylib               0x00007fff8183c7ff __cxa_finalize + 214
8   libSystem.B.dylib               0x00007fff8183c70c exit + 18
9   SoftwareUpdateCheck             0x0000000100001767 0x100000000 + 5991

Thread 1:  Dispatch queue: com.apple.libdispatch-manager
0   libSystem.B.dylib               0x00007fff8184308a kevent + 10
1   libSystem.B.dylib               0x00007fff81844f5d _dispatch_mgr_invoke + 154
2   libSystem.B.dylib               0x00007fff81844c34 _dispatch_queue_invoke + 185
3   libSystem.B.dylib               0x00007fff8184475e _dispatch_worker_thread2 + 252
4   libSystem.B.dylib               0x00007fff81844088 _pthread_wqthread + 353
5   libSystem.B.dylib               0x00007fff81843f25 start_wqthread + 13

Thread 2:
0   libSystem.B.dylib               0x00007fff81843eaa __workq_kernreturn + 10
1   libSystem.B.dylib               0x00007fff818442bc _pthread_wqthread + 917
2   libSystem.B.dylib               0x00007fff81843f25 start_wqthread + 13

Thread 3:
0   libSystem.B.dylib               0x00007fff8182a2fa mach_msg_trap + 10
1   libSystem.B.dylib               0x00007fff8182a96d mach_msg + 59
2   com.apple.CoreFoundation        0x00007fff8449b3c2 __CFRunLoopRun + 1698
3   com.apple.CoreFoundation        0x00007fff8449a84f CFRunLoopRunSpecific + 575
4   com.apple.Foundation            0x00007fff875bb4c3 +[NSURLConnection(NSURLConnectionReallyInternal) _resourceLoadLoop:] + 297
5   com.apple.Foundation            0x00007fff8753be8d __NSThread__main__ + 1429
6   libSystem.B.dylib               0x00007fff81863456 _pthread_start + 331
7   libSystem.B.dylib               0x00007fff81863309 thread_start + 13

Thread 4:
0   libSystem.B.dylib               0x00007fff8186ddce select$DARWIN_EXTSN + 10
1   com.apple.CoreFoundation        0x00007fff844bce92 __CFSocketManager + 818
2   libSystem.B.dylib               0x00007fff81863456 _pthread_start + 331
3   libSystem.B.dylib               0x00007fff81863309 thread_start + 13

Thread 5:
0   libSystem.B.dylib               0x00007fff81843eaa __workq_kernreturn + 10
1   libSystem.B.dylib               0x00007fff818442bc _pthread_wqthread + 917
2   libSystem.B.dylib               0x00007fff81843f25 start_wqthread + 13

Thread 6 Crashed:
0   libobjc.A.dylib                 0x00007fff80ff31d8 objc_msgSend_vtable5 + 16
1   ...le.SoftwareUpdate.framework  0x00007fff84335662 -[SUSession(CallbackDispatching) _dispatchDelegateCallbackOnMainThread:withObject:withObject:withObject:] + 80
2   ...le.SoftwareUpdate.framework  0x00007fff84335c29 -[SUSessionImpl remoteProductDownloadOperationDidEnd:] + 145
3   ...le.SoftwareUpdate.framework  0x00007fff84338aed -[SUProductDownloadOperation main] + 1547
4   ...le.SoftwareUpdate.framework  0x00007fff84336592 -[SUSessionImpl downloadAndVerifyAllProductsSync:] + 396
5   ...le.SoftwareUpdate.framework  0x00007fff8433535d -[SUSession(MainThread) _sessionMain:] + 850
6   com.apple.Foundation            0x00007fff8753be8d __NSThread__main__ + 1429
7   libSystem.B.dylib               0x00007fff81863456 _pthread_start + 331
8   libSystem.B.dylib               0x00007fff81863309 thread_start + 13

Thread 6 crashed with X86 Thread State (64-bit):
  rax: 0x0000000000000020  rbx: 0x0000000111b24cc8  rcx: 0x00000001001e4250  rdx: 0x00007fff843473cd
  rdi: 0x0000000111b744f0  rsi: 0x00007fff8707ed40  rbp: 0x00000001007a67c0  rsp: 0x00000001007a6768
   r8: 0x00007fff707ef8c0   r9: 0x0000000111a30940  r10: 0x00000001001c89f9  r11: 0x8600007fff70e241
  r12: 0x00000001001e4250  r13: 0x0000000111a30940  r14: 0x00007fff707ef8c0  r15: 0x00000001001e4250
  rip: 0x00007fff80ff31d8  rfl: 0x0000000000010206  cr2: 0x000000012b786b10

Binary Images:
       0x100000000 -        0x100002fff  SoftwareUpdateCheck ??? (???) <99185DEE-8BB2-9437-0C4B-27DF3EF53C94> /System/Library/CoreServices/Software Update.app/Contents/Resources/SoftwareUpdateCheck
    0x7fff5fc00000 -     0x7fff5fc3bdef  dyld 132.1 (???) <B536F2F1-9DF1-3B6C-1C2C-9075EA219A06> /usr/lib/dyld
    0x7fff80066000 -     0x7fff80066ff7  com.apple.vecLib 3.6 (vecLib 3.6) <96FB6BAD-5568-C4E0-6FA7-02791A58B584> /System/Library/Frameworks/vecLib.framework/Versions/A/vecLib
    0x7fff80067000 -     0x7fff80085fff  libPng.dylib ??? (???) <F6932C8D-E6B1-0871-B698-15180AA948F7>
    .... MORE FRAMEWORKS

System Profile:
    COMPUTER DETAILS HERE
Chealion
источник

Ответы:

21

Отчеты о сбоях хороши для выяснения того, что случилось с программой, и в зависимости от обстоятельств, которые могут их исправить (например, при сбое Final Cut при попытке использовать более 2,5 ГБ памяти - закройте некоторые проекты). Они наиболее важны для разработчика, поэтому обязательно передайте их, как если бы проблема была ошибкой. Также может быть полезен связанный с SuperUser вопрос о панике ядра.

Еще одно хорошее обсуждение этой темы на StackOverflow , которое также связано с этой технологией Apple. Заметка

Я сломаю образец отчета о сбое:

Process:         SoftwareUpdateCheck [16198]
Path:            /System/Library/CoreServices/Software Update.app/Contents/Resources/SoftwareUpdateCheck
Identifier:      SoftwareUpdateCheck
Version:         ??? (???)
Code Type:       X86-64 (Native)
Parent Process:  launchd [199]

Date/Time:       2010-09-01 21:23:45.353 -0600
OS Version:      Mac OS X 10.6.4 (10F569)
Report Version:  6

Открывающие строки просто сообщают вам, что дало сбой, когда и с чего оно началось (родительский процесс).

Interval Since Last Report:          112357 sec
Crashes Since Last Report:           2
Per-App Crashes Since Last Report:   1
Anonymous UUID:                      0ED5F3B8-BF2C-450D-9178-740EECC74D2E

Эта информация не очень полезна и может быть удалена - она ​​просто указывает, сколько аварий происходит и сколько времени прошло с момента сохранения последнего отчета о сбоях.

Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: 0x000000000000000d, 0x0000000000000000
Crashed Thread:  6

Application Specific Information:
objc_msgSend() selector name: respondsToSelector:

Это основная информация, которую вы ищете - тип исключения может сказать вам, какая ошибка вызвала сбой программы (что может быть чем-то, что вы можете исправить, или фактическая ошибка), и, более конкретно, какой поток потерпел крах. Если у вас есть информация для конкретного приложения, это не повредит, поскольку может дать вам представление о том, что используется во время сбоя.

Thread 0:  Dispatch queue: com.apple.main-thread
0   com.apple.CoreFoundation       0x00007fff84457869 __CFStrConvertBytesToUnicode + 41
1   com.apple.CoreFoundation       0x00007fff8446e79d _CFPropertyListCreateFromXMLStringError + 2349
2   com.apple.CoreFoundation       0x00007fff8446d440 _CFPropertyListCreateWithData + 416
3   com.apple.CFNetwork            0x00007fff88eabe34 MemoryCookies::inflateFromData(__CFData const*) + 48
4   com.apple.CFNetwork            0x00007fff88eab920 DiskCookieStorage::syncStorageLocked(unsigned char) + 440
5   com.apple.CFNetwork            0x00007fff88ebb6b7 PrivateHTTPCookieStorage::syncStorage() + 45
6   com.apple.CFNetwork            0x00007fff88ebb616 _CFHTTPCookieStorageFlushCookieStores + 136
7   libSystem.B.dylib              0x00007fff8183c7ff __cxa_finalize + 214
8   libSystem.B.dylib              0x00007fff8183c70c exit + 18
9   SoftwareUpdateCheck            0x0000000100001767 0x100000000 + 5991

[pruned threads]

Thread 5:
0   libSystem.B.dylib              0x00007fff81843eaa __workq_kernreturn + 10
1   libSystem.B.dylib              0x00007fff818442bc _pthread_wqthread + 917
2   libSystem.B.dylib              0x00007fff81843f25 start_wqthread + 13

Вышеуказанные 5 потоков информации о сбое совершенно бесполезны для вас как пользователя, так как они не имеют никакого отношения к сбоям, которые легко различимы. Однако разработчику может понадобиться знать, что он делает, если имеет дело с проблемой параллелизма (многопоточности).

Thread 6 Crashed:
0   libobjc.A.dylib                0x00007fff80ff31d8 objc_msgSend_vtable5 + 16
1   ...le.SoftwareUpdate.framework 0x00007fff84335662 -[SUSession(CallbackDispatching) _dispatchDelegateCallbackOnMainThread:withObject:withObject:withObject:] + 80
2   ...le.SoftwareUpdate.framework 0x00007fff84335c29 -[SUSessionImpl remoteProductDownloadOperationDidEnd:] + 145
3   ...le.SoftwareUpdate.framework 0x00007fff84338aed -[SUProductDownloadOperation main] + 1547
4   ...le.SoftwareUpdate.framework 0x00007fff84336592 -[SUSessionImpl downloadAndVerifyAllProductsSync:] + 396
5   ...le.SoftwareUpdate.framework 0x00007fff8433535d -[SUSession(MainThread) _sessionMain:] + 850
6   com.apple.Foundation           0x00007fff8753be8d __NSThread__main__ + 1429
7   libSystem.B.dylib              0x00007fff81863456 _pthread_start + 331
8   libSystem.B.dylib              0x00007fff81863309 thread_start + 13

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

Thread 6 crashed with X86 Thread State (64-bit):
  rax: 0x0000000000000020  rbx: 0x0000000111b24cc8  rcx: 0x00000001001e4250  rdx: 0x00007fff843473cd
  rdi: 0x0000000111b744f0  rsi: 0x00007fff8707ed40  rbp: 0x00000001007a67c0  rsp: 0x00000001007a6768
   r8: 0x00007fff707ef8c0   r9: 0x0000000111a30940  r10: 0x00000001001c89f9  r11: 0x8600007fff70e241
  r12: 0x00000001001e4250  r13: 0x0000000111a30940  r14: 0x00007fff707ef8c0  r15: 0x00000001001e4250
  rip: 0x00007fff80ff31d8  rfl: 0x0000000000010206  cr2: 0x000000012b786b10

Binary Images:
       0x100000000 -        0x100002fff  SoftwareUpdateCheck ??? (???) <99185DEE-8BB2-9437-0C4B-27DF3EF53C94> /System/Library/CoreServices/Software Update.app/Contents/Resources/SoftwareUpdateCheck
    0x7fff5fc00000 -     0x7fff5fc3bdef  dyld 132.1 (???) <B536F2F1-9DF1-3B6C-1C2C-9075EA219A06> /usr/lib/dyld
    0x7fff80066000 -     0x7fff80066ff7  com.apple.vecLib 3.6 (vecLib 3.6) <96FB6BAD-5568-C4E0-6FA7-02791A58B584> /System/Library/Frameworks/vecLib.framework/Versions/A/vecLib
    0x7fff80067000 -     0x7fff80085fff  libPng.dylib ??? (???) <F6932C8D-E6B1-0871-B698-15180AA948F7>
    .... MORE FRAMEWORKS

System Profile:
    COMPUTER DETAILS HERE

Последние подробности здесь, как правило, не так важны для вас, как для пользователя - они дают некоторую полезную справочную информацию для разработчика.

оборота Chealion
источник
Не стесняйтесь редактировать - хотелось бы лучшего ответа, если это возможно.
Chealion
3

В строке 2 указано, что обновление программного обеспечения запущено, и отображается изображение (путь), с которого оно было загружено. Строка 6, «Родительский процесс», говорит, что он был запущен демоном запуска, т. Е. Запланированным запуском, а не тем, что вы запустили вручную.

Тип исключения, SIGSEGV, является нарушением сегмента - программа пыталась получить доступ к некоторой памяти, отличной от той, которая была выделена ему операционной системой. Возможно, он использовал неинициализированный указатель, или адрес возврата или какой-либо другой указатель был перезаписан, что могло произойти, если буфер в программном стеке был переполнен.

Остальная информация в значительной степени бесполезна без исходного кода и карты загрузки, т. Е. Она представляет интерес для программиста, пытающегося выяснить, как произошел сбой, но не очень полезна для остальных из нас.

JRobert
источник
1
Я думаю, что @Chea хочет получить общий ответ, и он добавил пример сбоя, ваш ответ специфичен для выложенного образца.
Am1rr3zA