Xcode 11 Displays Crash Logs in Context of Your Projects

For all throughout human history, you had to symbolicate your user’s crash logs using atos or a 3rd party tool to get human-readable output. Otherwise, you will not know the symbol or method name of your app’s parts that are involved and see memory offsets instead.

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   libobjc.A.dylib               	0x00007fff68656e9d objc_msgSend + 29
1   com.apple.AppKit              	0x00007fff3e925c4f -[NSView _removeNextPointersToMe] + 829
2   com.apple.AppKit              	0x00007fff3e9258f5 -[NSView _removeFromKeyViewLoop] + 203
3   com.apple.AppKit              	0x00007fff3f1da8aa -[NSView _finalize] + 830
4   com.apple.AppKit              	0x00007fff3e92557a -[NSView dealloc] + 164
5   com.apple.AppKit              	0x00007fff3ea2bc42 -[NSControl dealloc] + 148
6   com.apple.AppKit              	0x00007fff3ea2bb9f -[NSTextField dealloc] + 124
7   libobjc.A.dylib               	0x00007fff6865eff5 objc_object::rootRelease_underflow(bool) + 339
8   libobjc.A.dylib               	0x00007fff686591f2 objc_release + 162
9   libobjc.A.dylib               	0x00007fff6865a042 (anonymous namespace)::AutoreleasePoolPage::pop(void*) + 812
10  com.apple.CoreFoundation      	0x00007fff41362896 _CFAutoreleasePoolPop + 22
11  com.apple.Foundation          	0x00007fff434ad8ad -[NSAutoreleasePool drain] + 144
12  com.apple.AppKit              	0x00007fff3e9278e5 -[NSApplication run] + 860
13  com.apple.AppKit              	0x00007fff3e8f6a72 NSApplicationMain + 804
14  de.zettelkasten.TheArchive    	0x000000010b007a79 0x10b003000 + 19065
15  libdyld.dylib                 	0x00007fff6927b015 start + 1

But with Xcode 11, double-clicking a .crash file now opens Xcode instead of Console, and you can view the crash log in the context of a project. That’s very nice.

Crash log entries are still not symbolicated – maybe this is different for iOS apps and/or TestFlight where Apple’s servers can take care of re-symbolication? I’m not sure. But this is an interesting new direction that I like to see explored further.

Xcode 11 screenshot of the parsed crash log lines

Also, I cannot figure out how to “close” or detach the crash log again without closing the whole project, yet.

Update 2019-10-14: Vadim Shpakovski (@vadimshpakovski) mentioned on Twitter that you can “close” the crash files by hitting the delete key when you select the crash in the left sidebar. Delete! Of course!

See also: