簡體   English   中英

如何修復“Xcode在使用libclang.dylib插件時意外退出。”?

[英]How to fix “Xcode quit unexpectedly while using the libclang.dylib plug-in.”?

我在啟動xCode( 5.1.1 )后的每一次都有這個。

刪除用戶數據,關閉源代碼控制(如某些帖子建議),沒有效果,仍然崩潰(同時顯示索引......永遠不會完成)。 即使重新安裝 xCode,沒有任何影響,仍然說同樣的。

有人修過這樣的xCode嗎?

在此輸入圖像描述

這是崩潰的線程:

 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

或者您可以在https://gist.github.com/eppz/10669132找到完整的崩潰報告

#import語句中有一個.m文件!

它是由一行代碼引起的! 不能相信它。 偷了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個課程的項目,否則我無法重現它。 那一定是某種競爭條件。

如果在任何Objective-C頭文件中都有@Implementation,那么它似乎也足以導致它失敗。

在我的例子中,我在傘頭文件本身內部導入了一個傘形頭文件。

例如:

在MyFramework.h中,我有:

#import <MyFramework/MyFramework.h>

索引者討厭這個!

從日志: IDEIndex PCH Creation Lock >看起來Xcode嘗試在崩潰時索引項目。

因此,嘗試在項目或源代碼中找出可能導致此問題的原因,或者將您的最新工作版本與當前版本進行比較。

暫無
暫無

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

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