WebThread:signal SIGABRT 和 libc++abi.dylib:terminating with uncaught
今天遇到一個很頑固的bug,解決之前都覺得很難,但是搞定之後,才恍然大悟,原來如此簡單,
今天的問題是:日誌裡只顯示libc++abi.dylib: terminating with uncaught exception of type NSException這個,其他資訊一點都沒有,然後各種除錯,也就多了這麼一條WebThread : signal SIGABRT,我完全懵了,一點都不知道是什麼問題,
問題背景:app裡有一個活動頁面是h5的頁面,然後通過點選h5頁面裡的註冊和登入按鈕,讓頁面跳到原生的app的登陸和註冊頁面進行下面的操作,因為此前做過其他的類似的功能的都沒問題,很自然的覺得肯定也是沒問題的,結果就給我報了錯誤,錯誤停留在使用者名稱的那個textField那裡,我奇怪的很,從app原生頁面進入註冊和登入頁面沒一點問題,但是從h5頁面進入的話就會報錯,我就奇了怪了不清楚為什麼會這樣,並且錯誤提示就是上面那兩個,沒有任何的多餘資訊,
解決辦法:我各種百度看到好多人都是說 什麼 xib 連線不對 ,物件重複釋放等等這些解決方法,我就奇了怪了 我是純程式碼寫的完全沒有xib根本不會存在連線的問題,物件也沒有重複釋放,我完全搞不懂狀況,各種部落格都看過就是沒辦法,最後突然想到一個辦法 不知道行不行 只能試一試了,就自己寫了try catch方法搞,方法如下:
@try{
//這裡寫你的造成app閃退的程式碼
}
@catch
(NSException *exception) {
NSLog(@"exception:%@"
, exception);
}
@finally {
}
然後再次執行程式到了這裡依然會崩潰,點選跳過斷點(有時候可能要多點幾次),然後就會發現日誌欄裡出現了新的關鍵的日誌如下:
-[RegistViewController phoneField] [第139行] exception:Only run on the main thread!
一看就明白了,意思是要在主執行緒裡執行(這才是關鍵日誌),後來經過修改就可以搞定了,
最後我想了想 原因應該是 UITextField 這種UI控制元件必須要在主執行緒裡重新整理的,而我從h5跳到原生頁面是開了子執行緒去跑的,所以有問題,改完之後就沒問題了,希望能幫到一些和我犯一樣錯誤的同學吧,畢竟 這種問題不容易搞,錯誤日誌資訊很少,沒有重要資訊,很麻煩,,,
相關文章
- *** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[APPException
- iOS-程式錯誤導致App閃退了怎麼辦?Terminating app due to uncaught exception...iOSAPPException
- iOS Mach異常和signal訊號iOSMac
- Namespoace Terminating 解決辦法
- Uncaught TypeError: i is not a functionErrorFunction
- Uncaught TypeError: $(...).attr(...) is undefinedErrorUndefined
- Linux Signal 示例Linux
- signal協議協議
- LGWR (ospid: 29534): terminating the instance due to error 4021Error
- Uncaught SyntaxError: Unexpected token <反思Error
- Uncaught Error: Cannot instantiate interfaceError
- 詳解Condition的await和signal等待/通知機制AI
- golang處理signalGolang
- python 之訊號SignalPython
- unix signal : signalfd, eventfd, timerfd
- Recursive Algorithm for Sliding Signal ProcessingGo
- Fatal error: Uncaught PDOException: could not find driverErrorException
- 完美解決 Uncaught SyntaxError: Unexpected token ‘<‘Error
- os/signal學習筆記筆記
- Linux訊號(signal)機制Linux
- wifi管理神器:WiFi Signal MacWiFiMac
- 系統程式設計-訊號-總體概述和signal基本使用程式設計
- 聊聊 Kubernetes Pod or Namespace 卡在 Terminating 狀態的場景namespace
- echarts:Uncaught TypeError: Cannot read property '0' of undefinedEchartsErrorUndefined
- Uncaught SyntaxError: Identifier 'Geometry' has already been declaredErrorIDE
- Java併發程式設計,Condition的await和signal等待通知機制Java程式設計AI
- Linux alarm signal (SIGALRM) to detach process isAliveLinux
- AQS相關(lock、unlock、await、signal)AQSAI
- Signal:更多前端框架的選擇前端框架
- MetricMeasurement calculates Peak Signal-to-Noise RatioREM
- Message from debugger: Terminated due to signal 13
- toMyCar:119 Uncaught ReferenceError: toJS is not defined at HTMLAnchorElement.onclickErrorJSHTML
- 每週一個 Python 模組 | signalPython
- ProTable 報錯Uncaught RangeError: Maximum call stack size exceededError
- 公司不是家庭 -DHH from Signal v.Noise
- 論文解讀《The Emerging Field of Signal Processing on Graphs》
- WiFi訊號監測工具:WiFi Signal for MacWiFiMac
- Signal Desktop for Mac專業加密通訊工具Mac加密