2015-10-05 95 views
1

enter image description here單元測試在Xcode 7(GM和7.0.1)中運行時,測試通過;但之後立即崩潰。單元測試在Xcode 7中崩潰

的Xcode調試控制檯顯示以下錯誤: 的libC++ abi.dylib:互斥鎖失敗:與類型的std ::的未捕獲的異常__ 1 :: SYSTEM_ERROR終止無效的參數

日誌也顯示了很多以下錯誤:


測試套件'MyTests'在2015-10-05 09:20:54.028通過。 在0.001(0.002)秒內執行1次測試,發生0次失敗(0次意外)

2015-10-05 09:20:54.028通過了測試套件「選定測試」。 /Users/ldupont/Library/Developer/Xcode/DerivedData/PlayerIOS-dpnbmmngypdkcsbguaesyimldsvi/Build/Intermediates/PlayerIOS.build: 在0.001(0.003)秒

譜執行的1次試驗,0失敗(0意想不到) /Debug-iphonesimulator/PlayerIOS.build/Objects-normal/x86_64/ SCPlayerTabularCollectionView.gcda:無法打開:沒有這樣的文件或目錄

分析:/用戶/ ldupont /文檔/火地島/ Player_ios/PlayerIOS /的ObjectiveC。 gcda:無法打開:無此文件或目錄

性能分析:/ User s/testuser/Library/Developer/Xcode/DerivedData/PlayerIOS-dpnbmmngypdkcsbguaesyimldsvi/Build/Intermediates/PlayerIOS.build/Debug-iphonesimulator/PlayerIOS.build/Objects-normal/x86_64/SCPlayerTabularCollectionView.gcda:無法打開:沒有這樣的文件或目錄

分析:/Users/testuser/Library/Developer/Xcode/DerivedData/PlayerIOS-dpnbmmngypdkcsbguaesyimldsvi/Build/Intermediates/PlayerIOS.build/Debug-iphonesimulator/PlayerIOS.build/Objects-normal/x86_64/SCPlayerTabularCollectionView.gcda:不能打開:沒有這樣的文件或目錄

分析:/Users/testuser/Library/Developer/Xcode/DerivedData/PlayerIOS-dpnbmmngypdkcsbguaesyimldsvi/Build/Intermediates/PlayerIOS.build/Debug-iphonesimulator/PlayerIOS.build/Objects-normal/ x86_64/SCPlayerTabularCollectionView.gcda:無法打開:沒有這樣的文件或目錄

分析:/Users/testuser/Library/Developer/Xcode/DerivedData/PlayerIOS-dpnbmmngypdkcsbguaesyimldsvi/Build/Intermediates/PlayerIOS.build/Debug-iphonesimulator/


我的項目設置如下: 主要目標和測試目標: 啓用代碼覆蓋率的支持:是 生成舊的測試覆蓋率文件:NO 儀器程序流程:NO

我試着將上述所有設置爲NO,但這並沒有幫助。

+1

SCPlayerTabularCollectionView究竟是什麼?它在第三方框架/庫中嗎?這聽起來像沒有配置爲與測試兼容。 – matt

+0

是的,這是問題所在。我們使用的庫是在Instrumentation項目設置爲YES的情況下編譯的。在將該設置設置爲NO的新版本集成之後,單元測試運行良好。 –

+0

幹得好。很高興你解決了。你應該回答你自己的問題(48小時內你可以接受你的答案)。這對使用此庫的其他人可能會有用! – matt

回答

3

剛剛發現什麼導致崩潰 - 這是我用的是內部庫是爲了基於對gcov代碼覆蓋率與項目設置「儀器程序流程」 = YES,編譯。這在Xcode 7中不再受支持,因爲它遺棄了舊版gcov文件格式支持,轉而使用新的中間格式profdata。

我獲得了該庫的新版本,儀器設置設置爲NO,然後崩潰消失,所有單元測試都通過了。希望這可以幫助面臨同樣問題的其他人。

+0

你是一個救世主......我需要在我的單元測試包中設置它以防止設備在怪異狀態下崩潰。 – Pellet