Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p><code>EXC_BAD_ACCESS</code> doesn't generate an exception so you first function doesn't work with the case. It generates a signal <code>SIGSEGV</code> or <code>SIGBUS</code>.</p> <p>Please refer to <a href="http://cocoawithlove.com/2010/05/handling-unhandled-exceptions-and.html" rel="noreferrer">Handling unhandled exceptions and signals</a> by Cocoa with Love.</p> <p><strong>Update</strong></p> <p>I just checked the source code of LLDB. It might be <code>TARGET_EXC_BAD_ACCESS</code> = 0x91.</p> <p>In RNBRemote.h:</p> <pre><code>/* We translate the /usr/include/mach/exception_types.h exception types (e.g. EXC_BAD_ACCESS) to the fake BSD signal numbers that gdb uses in include/gdb/signals.h (e.g. TARGET_EXC_BAD_ACCESS). These hard coded values for TARGET_EXC_BAD_ACCESS et al must match the gdb values in its include/gdb/signals.h. */ #define TARGET_EXC_BAD_ACCESS 0x91 #define TARGET_EXC_BAD_INSTRUCTION 0x92 #define TARGET_EXC_ARITHMETIC 0x93 #define TARGET_EXC_EMULATION 0x94 #define TARGET_EXC_SOFTWARE 0x95 #define TARGET_EXC_BREAKPOINT 0x96 </code></pre> <p>and in RNBRemote.cpp:</p> <pre><code>// Translate any mach exceptions to gdb versions, unless they are // common exceptions like a breakpoint or a soft signal. switch (tid_stop_info.details.exception.type) { default: signum = 0; break; case EXC_BREAKPOINT: signum = SIGTRAP; break; case EXC_BAD_ACCESS: signum = TARGET_EXC_BAD_ACCESS; break; case EXC_BAD_INSTRUCTION: signum = TARGET_EXC_BAD_INSTRUCTION; break; case EXC_ARITHMETIC: signum = TARGET_EXC_ARITHMETIC; break; case EXC_EMULATION: signum = TARGET_EXC_EMULATION; break; case EXC_SOFTWARE: if (tid_stop_info.details.exception.data_count == 2 &amp;&amp; tid_stop_info.details.exception.data[0] == EXC_SOFT_SIGNAL) signum = tid_stop_info.details.exception.data[1]; else signum = TARGET_EXC_SOFTWARE; break; } </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload