


This “backtrace” can be somewhat baffling. The fourth is the name of the program’s task. The third is the address of the process in memory. The first reports the event’s number in reverse chronological order, starting at 0. These are sorted by thread, starting with thread 0. What lead to the crash?Īfter that we see a reverse chronological list of what lead up to the crash.

This is due to a programming error in the application or an unusual user state causing the application to map memory incorrectly. A termination code will be appended to explain the exception.Īs we can see from our crash report, the application tried to access unmapped memory. Killed ( SIGKILL) – the process was terminated at the request of the system.Typically, a watchdog process terminates a misbehaving process. Quit ( SIGQUIT) – the process was terminated by another process with sufficient privileges.Illegal Instruction ( EXC_BAD_INSTRUCTION / SIGILL) – the processed issued an instruction that wasn’t understood or couldn’t be processed.Trace Trap ( EXC_BREAKPOINT / SIGTRAP) – like SIGABRT, but this exit gives the attached debugger the chance to interrupt the process at a breakpoint and trace the error.Abnormal Exit ( EXC_CRASH / SIGABRT) – abnormal exit, typically at the hand of an uncaught C++ exception and calls to abort().Appended with a code explaining the memory issue. Bad Memory Access ( EXC_BAD_ACCESS / SIGSEGV / SIGBUS) – the program attempts to access memory incorrectly or with an invalid address.Apple lists some common exception types in their technical documentation:
