我在启动xCode(5.1.1
)后的每一次都有这个。
删除用户数据,关闭源代码控制(如某些帖子建议),没有效果,仍然崩溃(同时显示索引......永远不会完成)。 甚至重新安装 xCode,没有任何影响,仍然说同样的。
是否有人修复过这样的xCode? strong>
这是崩溃的主题:
Thread 7 Crashed:: Dispatch queue: IDEIndex PCH Creation Lock
0 libclang.dylib 0x00000001080c60d9 void llvm::BitstreamWriter::EmitRecordWithAbbrevImpl<unsigned long long>(unsigned int, llvm::SmallVectorImpl<unsigned long long>&, llvm::StringRef) + 809
1 libclang.dylib 0x00000001080c5867 void llvm::BitstreamWriter::EmitRecord<unsigned long long>(unsigned int, llvm::SmallVectorImpl<unsigned long long>&, unsigned int) + 71
2 libclang.dylib 0x00000001081e9f25 clang::ASTWriter::WriteASTCore(clang::Sema&, llvm::StringRef, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, clang::Module*) + 35045
3 libclang.dylib 0x00000001081e160e clang::ASTWriter::WriteAST(clang::Sema&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, clang::Module*, llvm::StringRef, bool) + 6830
4 libclang.dylib 0x00000001080719a3 clang::ASTUnit::Save(llvm::StringRef) + 691
5 libclang.dylib 0x0000000107fe974f clang_saveTranslationUnit + 543
6 com.apple.dt.IDEFoundation 0x0000000106ac63af -[IDEIndexClangTranslationUnit cxTranslationUnit] + 331
7 com.apple.dt.IDEFoundation 0x0000000106c2c11a +[IDEIndexClangDataSource translationUnitForPCHFile:arguments:session:create:] + 259
8 com.apple.dt.IDEFoundation 0x0000000106cf5552 __90-[IDEIndex createPCHFile:arguments:hashCriteria:target:session:willIndex:translationUnit:]_block_invoke + 1739
9 libdispatch.dylib 0x00007fff957012ad _dispatch_client_callout + 8
10 libdispatch.dylib 0x00007fff95702166 _dispatch_barrier_sync_f_invoke + 39
11 com.apple.dt.DVTFoundation 0x0000000105fce5cf -[DVTDispatchLock performLockedBlock:] + 95
12 com.apple.dt.IDEFoundation 0x0000000106cf4932 -[IDEIndex createPCHFile:arguments:hashCriteria:target:session:willIndex:translationUnit:] + 919
13 com.apple.dt.IDEFoundation 0x0000000106ac4985 -[IDEIndexClangDataSource generateDataForJob:] + 1274
14 com.apple.dt.IDEFoundation 0x0000000106ac42fb -[IDEIndexDataSource processJob:] + 147
15 com.apple.dt.IDEFoundation 0x0000000106ac3e33 +[IDEIndexingEngine runFileJob:] + 732
16 com.apple.dt.IDEFoundation 0x0000000106ac3550 -[IDEIndexingJob run] + 161
17 com.apple.dt.IDEFoundation 0x0000000106c3233c __40-[IDEIndexingJobScheduler _scheduleJobs]_block_invoke + 33
18 libdispatch.dylib 0x00007fff957041d7 _dispatch_call_block_and_release + 12
19 libdispatch.dylib 0x00007fff957012ad _dispatch_client_callout + 8
20 libdispatch.dylib 0x00007fff9570309e _dispatch_root_queue_drain + 326
21 libdispatch.dylib 0x00007fff95704193 _dispatch_worker_thread2 + 40
22 libsystem_pthread.dylib 0x00007fff8ead7ef8 _pthread_wqthread + 314
23 libsystem_pthread.dylib 0x00007fff8eadafb9 start_wqthread + 13
找到完整的崩溃报告
答案 0 :(得分:9)
.m
声明中有#import
个文件!
这是由一行代码引起的!不能相信它。偷了4个小时搞清楚。哦,它是由@class
声明合并而来。
它显示为错误,但xCode / Clang崩溃的速度甚至超过了你甚至可以构建的速度。 :d
致命的模式:
<强> One.h 强>
#import "Two.m" // Not easy to spot actually.
@interface One : NSObject
@end
<强> Two.h 强>
@class One;
@interface Two : NSObject
@property (nonatomic, weak) One *one;
@end
除非我提到超过200个课程的项目,否则我无法重现它。那一定是某种竞争条件。
答案 1 :(得分:4)
如果在任何Objective-C头文件中都有@Implementation,那么它似乎也足以导致它失败。
答案 2 :(得分:2)
在我的情况下,我在伞头文件本身内部导入了一个伞形头文件。
例如:
在MyFramework.h中,我有:
#import <MyFramework/MyFramework.h>
索引者讨厌这个!
答案 3 :(得分:1)
来自日志:IDEIndex PCH Creation Lock
&gt;看起来Xcode尝试在崩溃时索引项目。
因此,请尝试在项目或源代码中找出可能导致此问题的原因,或者将您的最新工作版本与当前版本进行比较。