如何快速查找無(wú)法定位的錯(cuò)位?

對(duì)于一般的錯(cuò)誤全局?jǐn)帱c(diǎn)就可以快速定位,或者是根據(jù)控制臺(tái)的輸出內(nèi)容也可以快速定位錯(cuò)誤的原因!可是如果程序崩潰在main函數(shù)并且控制臺(tái)沒(méi)有任何輸入,那就比較頭疼了!一點(diǎn)一點(diǎn)排除實(shí)在是太浪費(fèi)時(shí)間了!根據(jù)我最近遇到的bug來(lái)講述一下如何快速定位錯(cuò)誤代碼的位置!


崩潰的位置

只能根據(jù)這僅有的有點(diǎn)提示信息進(jìn)行分析。exc_bad_access(code=exc_i386_gpflt)錯(cuò)誤的原因是內(nèi)存泄露,訪問(wèn)了已經(jīng)釋放的對(duì)象導(dǎo)致的;

首先通過(guò)xcode再來(lái)試一下定位錯(cuò)誤的位置

設(shè)置xcode開(kāi)啟僵尸對(duì)象的定位




這時(shí)控制臺(tái)有輸出了



可以確定的是DisclaimerViewController控制器的問(wèn)題,但是還是不夠準(zhǔn)確;

再來(lái)試試instruments進(jìn)行分析


不知道是不是xcode問(wèn)題 ,也無(wú)法定位到代碼位置;(以前我就遇到過(guò)xcode的原因 無(wú)法定位到代碼位置 重新安裝就沒(méi)有問(wèn)題了,如果可以定位到 麻煩留言告知一下)

利用終端定位

打開(kāi)活動(dòng)監(jiān)視器


活動(dòng)監(jiān)視器

找到相應(yīng)的app進(jìn)程



根據(jù)pid 和錯(cuò)誤代碼 在終端進(jìn)程查看sudo malloc_history 19464 0x7f979d4c48c0
找到最后執(zhí)行的代碼進(jìn)行相應(yīng)的修改就可以了

0x7f979d4c48c0:為xcode開(kāi)啟僵尸對(duì)象定位時(shí)輸出的錯(cuò)位代碼



最終定位在-[FeatureCollectionController tapToOtherVC]
我在FeatureCollectionController控制器的tapToOtherVC方法里使用了DisclaimerViewController!對(duì)其進(jìn)行相應(yīng)的修改就可以了!

感謝您的閱讀,希望對(duì)您有所幫助!歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處,尊重他人勞動(dòng)!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫(kù)、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,416評(píng)論 4 61
  • 這篇文章的作者是iOS Tutorial Team 的成員Matthijs Hollemans,他是一個(gè)經(jīng)驗(yàn)豐富的...
    南京在下大暴雨閱讀 1,668評(píng)論 0 3
  • 那天一早,夏雯就睡不著了。洗漱完畢,陳峰就發(fā)來(lái)微信詢問(wèn),【起床了嗎?】這種感覺(jué)很熟悉,又有點(diǎn)陌生。夏雯記得,她曾在...
    陳若心閱讀 320評(píng)論 0 2
  • 詩(shī)人們,看圖寫(xiě)詩(shī)~ 背景:此刻,秋街,雨后。
    2020號(hào)閱讀 826評(píng)論 144 29
  • 我之所以存在,是因?yàn)槟愕男枰?/div>
    木勿閱讀 205評(píng)論 0 0

友情鏈接更多精彩內(nèi)容