簡體   English   中英

iPhone App在iOS 4上崩潰,在3.x上運行良好

[英]iPhone App crashes on iOS 4, works well on 3.x

我使用iPhone 3.x SDK編寫了一個小型應用程序。 該應用程序在設備/模擬器3.x上運行良好。 但是,當我切換到設備/模擬器4時,當我在選項卡頁面之間導航時,它會直接退出。 這是日志格式〜/ Library / Logs / CrashReporter,

異常類型: EXC_BAD_ACCESS (SIGBUS)異常代碼:0x0000000000000003處的KERN_PROTECTION_FAILURE損壞的線程:0調度隊列:com.apple.main-thread

特定於應用程序的信息:objc_msgSend()選擇器名稱:isKindOfClass:iPhone Simulator 4.0(211.1),iPhone OS 4.0.2(iPhone / 8A400a)

線程0崩潰:調度隊列:com.apple.main-thread 0 libobjc.A.dylib 0x02502a97 objc_msgSend + 27 1 UIKit 0x00303f20-[UIView(Internal)_didMoveFromWindow:toWindow:] + 955

謝謝,請您給我一些幫助。

Linkou Bian電子郵件/ MSN:linkou.bian@gmail.com

我寫了這個博客是為了幫助理解和調試EXC_BAD_ACCESS

基本上,您要取消引用指向未分配給進程的內存的指針。 發生這種情況的主要原因是

  1. 您正在使用已釋放的對象
  2. 堆已損壞

您應該執行以下調試操作:

  1. 做一個構建和分析。 泄漏的報告很糟糕,但與該問題無關—您想查找保留次數太少的問題

  2. 打開Zombies並在調試器中運行 現在,您的任何對象都不會被釋放,但是當它們的保留計數為0時,如果您使用它們,它們將向調試器投訴。

博客上的其他技巧比較難於解釋

我開發了具有實時廣播流的VUmeter功能。 當我運行模擬器4.0版時它運行良好,但在device(3GS,4.0)中卻無法正常工作,我無法獲得音頻電平的更新值。 假設在第一次調用方法時,我得到的值是:0.001817,峰值是:0.005463,但保持不變,而在模擬器中,相同的代碼運行良好。

levels[0]        = self.audioLevels[0].mAveragePower ;
peakLevels[0]    = self.audioLevels[0].mPeakPower ;   

意見或建議需要...

暫無
暫無

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

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