close
在 iOS 中常會因為不小心沒把物件的 reference count 管理好,然後存取到已經釋放掉的物件造成程式當掉,
這個問題對許多開發者來說應該都是件很困擾的事,不過其實我們可以動一些手腳,這樣在debug時就可以知道到底
是那個物件不小心被釋放掉而造成這個問題的,以下是設定的方式,當設定完成後,就可以在debug log中看到一些
提示訊息,告訴我們是怎麼回事了,
Product >> Manage Schemes >> 選取要debug的project >> Edit >> 選取 Run app名字.app
在 Argument 頁面中,新加一個 environment variables
NSZombieEnabled
將這個變數設成 true 就ok了。
之後如果程式掛掉了,只要比對一下錯誤訊息,例如:
app[13926:c203] *** -[CFString appendFormat:]: message sent to deallocated instance 0x53b1c20
和變數的狀況,例如:
testString _NSZombie_CFString * 0x53b1c20
就可以知道發生什麼事情了。
全站熱搜