20 votes

Quelqu'un peut-il m'aider à lire ce rapport d'accident en tant qu'utilisateur ?

Comment puis-je lire un rapport d'accident pour me faire une idée de ce qui s'est passé ?

Exemple de rapport d'accident aseptisé :

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

21voto

Nick Berardi Points 31361

Les rapports de crash sont utiles pour découvrir ce qui est arrivé au programme et, selon les circonstances, pour le réparer (par exemple, Final Cut se plante en essayant d'utiliser plus de 2,5 Go de mémoire, ce qui entraîne la fermeture de certains projets). Ils sont très importants pour le développeur, alors assurez-vous de les transmettre comme s'il s'agissait d'un bogue. Une question connexe sur SuperUser qui traite des paniques du noyau peut aussi être utile.

Une autre bonne discussion sur ce sujet sur StackOverflow qui renvoie également à ce qui suit Apple Tech. Note

Je vais décomposer l'exemple de rapport d'accident :

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

Les premières lignes vous disent simplement ce qui s'est écrasé, quand et ce qui l'a déclenché (processus parent).

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

Ces informations ne sont pas très utiles et peuvent être élaguées - elles indiquent simplement le nombre d'accidents et le temps écoulé depuis l'enregistrement du dernier rapport d'accident.

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

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

Il s'agit de l'information principale que vous recherchez - le type d'exception peut vous indiquer le type d'erreur qui a provoqué le plantage du programme (qui peut être quelque chose que vous pouvez corriger ou un véritable bogue), et plus précisément quel thread a planté. Si vous disposez d'informations spécifiques à l'application, cela ne fait pas de mal car cela peut vous donner une idée de ce qui est utilisé au moment du crash.

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

Les 5 fils d'informations sur le crash ci-dessus sont totalement inutiles pour vous en tant qu'utilisateur, car ils n'ont rien à voir avec le crash qui est facilement discernable. Cependant, le développeur peut avoir besoin de savoir ce qu'il fait s'il est confronté à un problème de concurrence (threading).

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

Les premières lignes vous donnent une idée approximative de ce qui s'est passé. Dans ce cas, quelque chose a mal tourné après le téléchargement de ma mise à jour.

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

Les derniers détails ne sont généralement pas si importants pour vous, l'utilisateur, mais ils fournissent de bonnes informations de base pour le développeur.

3voto

Adam V Points 2774

La ligne 2 indique que la mise à jour du logiciel a été exécutée et montre l'image (Path) à partir de laquelle elle a été chargée. La ligne 6, Processus parent, indique qu'il a été exécuté par le démon de lancement, c'est-à-dire qu'il s'agit d'une exécution programmée, et non d'une exécution lancée manuellement par vous.

Le type d'exception, SIGSEGV, est une violation de segment -- le programme a essayé d'accéder à une mémoire autre que celle qui lui a été allouée par le système d'exploitation. Il a peut-être utilisé un pointeur non initialisé, ou une adresse de retour ou un autre pointeur a été écrasé, ce qui peut se produire si un tampon sur la pile du programme a été dépassé.

Le reste des informations est pratiquement inutile sans le code source et une carte de charge, c'est-à-dire qu'il est intéressant pour un programmeur qui essaie de trouver comment le crash s'est produit, mais pas vraiment utile pour le reste d'entre nous.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X