Чи може хтось допомогти мені прочитати цей звіт про збій як користувач?


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

Відповіді:


21

Звіти про збої корисні для з'ясування того, що сталося з програмою, та залежно від обставин, які їх можливо виправляють (наприклад, завершення аварійного завершення спроби використання більше 2,5 Гб пам'яті - закрийте деякі проекти). Вони є найважливішими для розробника, тому не забудьте передати їх так, ніби це проблема - помилка. Питання щодо SuperUser, що займається панікою ядра, також може бути корисним.

Ще одне добре обговорення цієї теми на StackOverflow , яке також посилається на цей Apple Tech. Примітка

Я розбиваю зразок звіту про збій:

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

3

У другому рядку йдеться про оновлення програмного забезпечення та показує зображення (Шлях), з якого воно завантажено. Рядок 6, батьківський процес, говорить, що його виконував демон запуску, тобто запланований запуск, а не один, який ви розпочали вручну.

Тип винятку, SIGSEGV, є порушенням сегмента - програма намагалася отримати доступ до деякої пам'яті, крім тієї, що була призначена їй операційною системою. Можливо, він використовував неініціалізований покажчик, або зворотну адресу або інший покажчик перезаписаний, що може статися, якщо буфер у програмному стеку перезапущений.

Решта інформації є майже марною без вихідного коду та карти завантаження, тобто, це цікавить програміста, який намагається з'ясувати, як стався збій, але насправді не дуже корисний для нас.


1
Я думаю, що @Chea хоче загальну відповідь, і він поставив деякі збої вибірки, ваша відповідь специфічна для розміщеного зразка.
Am1rr3zA
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.