簡體   English   中英

在iOS上調試EXEC_BAD_ACCESS

[英]Debugging a EXEC_BAD_ACCESS on iOS

我有一個非常奇怪的EXEC_BAD_ACCESS錯誤,錯誤發生在應用程序啟動時。 沒有達到斷點或NSLog,當UIApplicationMain(argc,argv,nil,NSStringFromClass([AppDelegate class]))被調用時它會取消。

它只會在模擬器上而不是在設備上或使用儀器時崩潰。 僵屍沒有給我任何信息,當我在模擬器上啟用GUARDMALLOC它沒有崩潰。 EXEC_BAD_ACCESS始終在同一個內存地址上發生。

我可以得到以下回溯

#0  0xcd58a2f6 in ?? ()
#1  0x0102b524 in -[UIWindow _commonInit] ()
#2  0x0102b66f in -[UIWindow initWithFrame:] ()
#3  0x0137be58 in -[UIStatusBarWindow initWithFrame:] ()
#4  0x0103c28f in -[UIView init] ()
#5  0x01000a5e in -[UIApplication _createStatusBarWithRequestedStyle:orientation:hidden:] ()
#6  0x00ffbe6b in -[UIApplication _runWithURL:payload:launchOrientation:statusBarStyle:statusBarHidden:] ()
#7  0x0100d315 in -[UIApplication handleEvent:withNewEvent:] ()
#8  0x0100e24b in -[UIApplication sendEvent:] ()
#9  0x00fffcf8 in _UIApplicationHandleEvent ()
#10 0x02fe7df9 in _PurpleEventCallback ()
#11 0x02fe7ad0 in PurpleEventCallback ()
#12 0x022cabf5 in __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ ()
#13 0x022ca962 in __CFRunLoopDoSource1 ()
#14 0x022fbbb6 in __CFRunLoopRun ()
#15 0x022faf44 in CFRunLoopRunSpecific ()
#16 0x022fae1b in CFRunLoopRunInMode ()
#17 0x00ffb7da in -[UIApplication _run] ()
#18 0x00ffd65c in UIApplicationMain ()
#19 0x00002ea2 in main (argc=1, argv=0xbffff2a0) at /Users/user/Projects/App/App/main.m:16

當我試圖得到有關我得到的記憶的信息時

Cannot access memory at address 0xcd58a2f6

我有時可以在更改某些代碼時解決它,但是當我只在其他一些函數中創建局部變量時會再次發生這種情況,所以我認為這個問題會更深入。

我有點困惑,因為當錯誤發生時,didFinishLaunchingWithOptions永遠不會到達,所以在我的viewcontrollers中有什么樣的影響可以有代碼?

作為第三方組件,我使用Phonegap 2.1作為組件,並使用Apple的Reachability。

您可以添加異常斷點以獲取錯誤的位置。 這是一個很好的教程鏈接。 希望對你有效。

鏈接在這里。

假設它不是xib問題,您可以使用atos(地址到符號)調試來幫助您找到問題的位置。

有關此方法的優秀教程,請訪問http://saveme-dot-txt.blogspot.com/2011/04/using-atos-for-reading-crash-logs.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM