我自己開發的一個比較常見的調試錯誤(Mac,iOS)是EXC_BAD_ACCESS。儘管它的共同性,它的起源和確切的含義仍然是神祕的。谷歌列舉了許多錯誤,但我能找到的唯一的explanation是非正式的和不完整的。EXC_BAD_ACCESS在哪裏記錄?
我知道這個例外(如果這是它的適當術語)意味着代碼已經試圖訪問它沒有讀和/或寫權限的地址 - 例如空地址,或者地址空間外的地址。但是這是基於我之前有關虛擬內存和受保護內存系統的經驗的直觀解釋。我從來沒有見過EXC_BAD_ACCESS記錄在任何地方,事實上我不確定「誰」會向我發送這個異常 - CPU,Mac OS,UNIX,運行時,調試器 - 所以我不知道該問誰是,什麼類的文件諮詢)。例如,我想知道,例外列出的「代碼」是什麼意思。或者另一個例子:其他類似的例外(可能還標有「EXC_」)也可能來自同一個來源?
從哪裏可以找到來自權威來源的EXC_BAD_ACCESS及其代碼和一般語義的解釋?什麼是權威來源 - 誰實際上檢測並拋出異常?