我卡在這個不良的內存訪問錯誤。我試圖尋找「殭屍」,因爲我在其他帖子中閱讀,但沒有運氣!我正在使用自動引用計數。EXC_BAD_ACCESS與基於ARC的應用程序,沒有想法
唯一讓我懷疑的是我昨天更改了項目文件夾的名稱,並且出現了很多錯誤,在我修復之後。然後當項目再次運行時,我沒有對代碼做任何特別的改變,所以我真的不明白。
即使按鈕的IBAction
中的方法調用被註釋了,我們仍然得到了錯誤,但單擊按鈕後會發生這種情況。
我遇到了.pch文件plist的問題,將項目的所有文件夾重新定位到新路徑(昨天完成)。
* thread #1: tid = 0xadfee, 0x0000000000000000, queue = 'com.apple.main-thread, stop reason = EXC_BAD_ACCESS (code=1, address=0x0)
frame #0: 0x0000000000000000
frame #1: 0x00007fff8c6ab460 AppKit`-[NSUserDefaultsController _invokeSingleSelector:withArguments:onKeyPath:] + 99
frame #2: 0x00007fff8c6e9c31 AppKit`-[NSObject(_NSBinderKeyValueCodingAdditions) _invokeSelector:withArguments:onKeyPath:] + 745
frame #3: 0x00007fff8c311cbd AppKit`-[NSBinder _invokeSelector:withArguments:onKeyPath:ofObject:mode:raisesForNotApplicableKeys:] + 234
frame #4: 0x00007fff8c3121d0 AppKit`-[NSBinder invokeSelector:withArguments:forBinding:error:] + 173
frame #5: 0x00007fff8c2e2f1e AppKit`-[NSActionBinder _invokeSelector:withArguments:forBinding:] + 131
frame #6: 0x00007fff8c2e375f AppKit`-[NSActionBinder _performActionWithCommitEditing:didCommit:contextInfo:] + 314
frame #7: 0x00007fff8c6ed096 AppKit`_NSSendCommitEditingSelector + 267
frame #8: 0x00007fff8c39a288 AppKit`-[NSController _controllerEditor:didCommit:contextInfo:] + 182
frame #9: 0x00007fff91655d4c CoreFoundation`__invoking___ + 140
frame #10: 0x00007fff91655bb4 CoreFoundation`-[NSInvocation invoke] + 308
frame #11: 0x00007fff916f87f6 CoreFoundation`-[NSInvocation invokeWithTarget:] + 54
frame #12: 0x00007fff89b38117 Foundation`__NSFireDelayedPerform + 333
frame #13: 0x00007fff916d17a4 CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 20
frame #14: 0x00007fff916d12df CoreFoundation`__CFRunLoopDoTimer + 1151
frame #15: 0x00007fff9174296a CoreFoundation`__CFRunLoopDoTimers + 298
frame #16: 0x00007fff9168cb55 CoreFoundation`__CFRunLoopRun + 1525
frame #17: 0x00007fff9168c325 CoreFoundation`CFRunLoopRunSpecific + 309
frame #18: 0x00007fff8ccd7b1d HIToolbox`RunCurrentEventLoopInMode + 226
frame #19: 0x00007fff8ccd7793 HIToolbox`ReceiveNextEventCommon + 173
frame #20: 0x00007fff8ccd76ca HIToolbox`_BlockUntilNextEventMatchingListInModeWithFilter + 65
frame #21: 0x00007fff8bf5a5fe AppKit`_DPSNextEvent + 1434
frame #22: 0x00007fff8bf59c4b AppKit`-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 122
frame #23: 0x00007fff8bf4dbbc AppKit`-[NSApplication run] + 553
frame #24: 0x00007fff8bf38a53 AppKit`NSApplicationMain + 940
frame #25: 0x0000000100001dd2 Mp3_Radar`main(argc=3, argv=0x00007fff5fbff838) + 34 at main.m:13
frame #26: 0x0000000100001da4 Mp3_Radar`start + 52
(LLDB)
編輯:我發現這個問題。 按鈕綁定「目標」被設置爲用戶默認控制器,取消選中這個技巧。也許我意外地激活了這個選項,然後繼續做一些事情,並忘記了這種改變..無論如何感謝每個人試圖幫助我。 我知道我的語法並不完美,是否有理由對此問題進行否定的投票?我只是想解決一個問題,而英語不是我的母語。 無論如何,我希望這篇文章能夠幫助別人!
從您的堆棧跟蹤中可以看出您正在使用NSTimer調用某種方法。可能是計時器試圖執行某個選擇器的對象已被釋放,導致訪問不良。 –
我正在使用FileSystem Events來跟蹤文件夾中的更改,也許它使用了一個計時器(我猜測)。在fsevents流初始化方法我有「runLoop」。我不使用任何其他計時器。它的奇怪,昨天相同的代碼工作.. – Benz
你有在你的計劃啓用NSZombies?那麼你應該至少能夠告訴你殭屍是什麼類型的對象。 –