亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Xcode不顯示導致崩潰的行

Xcode不顯示導致崩潰的行

iOS
HUX布斯 2019-11-26 14:50:31
每次我的應用程序崩潰時,Xcode都會在main()函數中突出顯示UIApicationMain()調用,作為導致崩潰的行。在某些情況下曾經很正常(例如,分段錯誤),但是我要處理的崩潰是一個簡單的SIGABRT,其詳細信息記錄在控制臺中:*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFDictionary setObject:forKey:]: attempt to insert nil value (key: Date)'Xcode過去常常與舊的SDK一起顯示該行,但是自從我升級到Xocde 4.2以來,它發生了變化。很明顯,Xcode確切地知道了導致崩潰的原因(或可能知道),但是它仍然沒有顯示實際的行。是否有任何修復程序或解決方法?
查看完整描述

3 回答

?
慕萊塢森

TA貢獻1810條經驗 獲得超4個贊

您還應該確保為所有異常設置了斷點。這將導致Xcode在發生異常的行停止。在[Xcode 4]中執行以下操作:

  1. 在Xcode左側的Project Navigator中,單擊斷點導航器(幾乎一直到頂部按鈕欄的右側。該圖標看起來像一個粗大的向右箭頭)。

  2. 在導航器的底部,單擊“ +”按鈕。

  3. 單擊“添加例外斷點”。

  4. 將創建一個新的斷點。應該根據需要配置它,但是您可以調整其行為。

  5. 運行您的項目并重現異常。

還提到了您鏈接到一些第三方庫/框架。如果在這些框架內發生異常,那么您將很難過,因為代碼已編譯,并且Xcode實際上無法向您顯示導致異常的行。如果是這種情況,并且確定可以正確使用這些庫,則應向這些庫的維護者提交錯誤報告。


查看完整回答
反對 回復 2019-11-26
?
慕蓋茨4494581

TA貢獻1850條經驗 獲得超11個贊

我編寫了代碼以使索引崩潰超出范圍。以下是引發的異常。


2017-01-07 04:02:57.606 testABC[1694:52966] *** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSSingleObjectArrayI objectAtIndex:]: index 1 beyond bounds [0 .. 0]'

*** First throw call stack:

(

    0   CoreFoundation                      0x000000010e85cd4b __exceptionPreprocess + 171

    1   libobjc.A.dylib                     0x000000010e2be21e objc_exception_throw + 48

    2   CoreFoundation                      0x000000010e8b5c2f -[__NSSingleObjectArrayI objectAtIndex:] + 111

    3   testABC                             0x000000010dce962d -[ViewController ComplexFunction] + 61

    4   testABC                             0x000000010dce95db -[ViewController thirdFunction] + 43

    5   testABC                             0x000000010dce959b -[ViewController secondFunction] + 43

    6   testABC                             0x000000010dce955b -[ViewController firstFinction] + 43

    7   testABC                             0x000000010dce96c2 -[ViewController viewDidAppear:] + 50

    8   UIKit                               0x000000010ee28a6c -[UIViewController _setViewAppearState:isAnimating:] + 945

    9   UIKit                               0x000000010ee2b7da __64-[UIViewController viewDidMoveToWindow:shouldAppearOrDisappear:]_block_invoke + 42

    10  UIKit                               0x000000010ee29ac4 -[UIViewController _executeAfterAppearanceBlock] + 86

    11  UIKit                               0x000000010ec8d77c _runAfterCACommitDeferredBlocks + 653

    12  UIKit                               0x000000010ec7a273 _cleanUpAfterCAFlushAndRunDeferredBlocks + 566

    13  UIKit                               0x000000010ec9d757 __84-[UIApplication _handleApplicationActivationWithScene:transitionContext:completion:]_block_invoke_2 + 194

    14  CoreFoundation                      0x000000010e8016ac __CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__ + 12

    15  CoreFoundation                      0x000000010e7e66f4 __CFRunLoopDoBlocks + 356

    16  CoreFoundation                      0x000000010e7e5e65 __CFRunLoopRun + 901

    17  CoreFoundation                      0x000000010e7e5884 CFRunLoopRunSpecific + 420

    18  GraphicsServices                    0x00000001126d9a6f GSEventRunModal + 161

    19  UIKit                               0x000000010ec80c68 UIApplicationMain + 159

    20  testABC                             0x000000010dce99df main + 111

    21  libdyld.dylib                       0x000000011174968d start + 1

    22  ???                                 0x0000000000000001 0x0 + 1

)

libc++abi.dylib: terminating with uncaught exception of type NSException

如果您仔細閱讀 First Throw call stack


0   CoreFoundation              0x000000010e85cd4b __exceptionPreprocess + 171

1   libobjc.A.dylib             0x000000010e2be21e objc_exception_throw + 48

0 and 1 是崩潰后的系統進程。


 2   CoreFoundation             0x000000010e8b5c2f -[__NSSingleObjectArrayI objectAtIndex:] + 111

2 是導致異常的行。


3   testABC                     0x000000010dce962d -[ViewController ComplexFunction] + 61

3告訴您拋出異常的類名(ViewController)和函數naem(ComplexFunction)。


查看完整回答
反對 回復 2019-11-26
  • 3 回答
  • 0 關注
  • 790 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號