2009-12-06 50 views
0

運行我的iPhone應用程序
2009-12-05 21:32:06.711 iTour[7595:207] *** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[NSCFArray objectAtIndex:]: index (1) beyond bounds (1)'調試在Xcode(可可觸摸)

時按Xcode的調試實踐中我得到這個錯誤,我沒有行號或線索從哪裏開始,因爲我有很多的陣列在我的應用程序...和堆棧跟蹤只是很多數字....

爲什麼不Xcode給行號像VS?

任何想法,這行代碼是或從哪裏開始?

謝謝

回答

2

您不會收到行號,因爲程序因未捕獲的異常而死亡。拋出了一個異常,在被被你的應用程序殺死的默認異常處理程序捕獲之前,傳遞了很多幀。

如果您可以重現該問題,則可以在-[NSException raise]objc_exception_throw(具體而言,將這兩個添加到符號斷點列表)中設置斷點。

鑑於索引是1,那麼你有一個數組中有0或1個項目。這也有助於縮小它的範圍。

-1

你在編譯模式下編譯?如果Xcode具有二進制文件中的調試信息,Xcode完全可以爲您提供帶有行號的堆棧跟蹤。

+0

這不是一個崩潰;錯誤消息發出時沒有可用的回溯。調試這種方法的唯一方法是在拋出異常之前捕獲異常*或*在使用前斷言索引。 – bbum