簡體   English   中英

使用臨時分發在設備上崩潰

[英]Crash on device using ad-hoc distribution

突然,我通過Testflight和iTunes-sync進行的臨時發行不再起作用。 使用臨時構建配置分發的應用程序永遠不會在設備上完全啟動。 它立即因分段錯誤11而崩潰。

這個問題的怪異之處在於,在下面提到的所有設備上的調試版本都可以正常工作。 這使我相信我的project.pbxproj中有些混亂。 但是,當我查看git-log時,什么也看不見,只有架構( ARCHS )和有效架構( VALID_ARCHS )發生了變化。

我是否正確地認為,弄亂體系結構不應在啟動時而是在構建過程中引起實際錯誤?

一些背景:
另外值得一提的是,我同時安裝了Xcode 4.4.1和4.5 GM,當我從App Store將GM升級到GM時,它也刪除了Xcode 4.4.1的備份。 打h之后,我刪除了所有版本的Xcode,重新啟動並再次安裝了4.4.1版本(這樣我就可以為armv6進行構建了)。

關於如何進行此調試的任何有用提示對我來說都是非常寶貴的。
謝謝你的時間。 <3

來自設備的控制台打印和崩潰日志:
-https://gist.github.com/3781018
如果需要,我可以添加更多日志。

當前環境:
-Xcode版本4.4.1(4F1003)
-Mac OS版本10.8.2

項目設置(pbxproj):
-https://gist.github.com/3780985

測試的設備:
-iPhone 3GS iOS 6
-iPhone 3G iOS 4.2.1
-iPad第二代iOS 5.1.1
-iPhone 4S iOS 5.1.1
-iPhone 4 iOS 6.0
-iPhone 4S iOS 6.0

更新資料
要進行調試,這是我嘗試的方法:
1.跳過Testflight,並使用傳統的方式通過iTunes發布臨時文件。 失敗 2.重新安裝配置文件失敗
2.在我的機器上創建一個新用戶,然后重新安裝Xcode。 失敗
3.從另一台機器進行構建。 失敗
4.將優化級別設置為:-O0 FAIL

即使我確定沒有更改任何代碼,也沒有其他合理的解釋。 所以我開始在git中還原項目,從成功發布即日起開始。 令我震驚的是,我注意到同一段錯誤一直在跟蹤我!
考慮到這一事實,僅需采取一項行動; 我稱之為“噴塗與噴塗”的一種非常強大的調試方式。 =)換句話說,我開始注釋掉代碼的各個部分,看是否有什么不同,令我驚訝的是它實際上確實起作用。 在禁用和啟用應用程序的某些部分后,我發現了罪魁禍首:從未保留靜態NSArray。 我真正想到的是,自2010年以來,數組的實際初始化看起來一直是相同的。那么,到底為什么現在突然導致內存錯誤? 為何靜態分析儀沒有對此發出警告?

我現在不願意回答這些問題,我將嘗試用更多細節更新問題,並希望明天也能提供答案。
再次感謝您迄今為止所提供的幫助! <3

看起來問題的原因是並發問題:

Crashed Thread:  1

在這種情況下,可能很難找到並解決問題的根源(http://en.wikipedia.org/wiki/Unusual_software_bug#Heisenbug)。

可能是您正在使用多個線程中的一個對象執行某項操作而沒有適當的同步; 或者是您在一個線程(例如線程0)中取消分配了對象,然后嘗試從另一個線程(線程1)訪問該對象。

暫無
暫無

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

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