[英]Xcode: Adding a Test that fails when there are Static Analyzer warnings or errors?
[英]How to use Xcode static analyzer command line to generate an HTML report of warnings?
我安裝了 llvm 並使用scan-build靜態分析了一個非常簡單的演示項目。 在這個項目中,我故意創建了一個保留周期,Xcode 可以立即在編輯器中顯示保留周期警告。 但是,如果我切換到使用下面的scan-build命令行工具,它會說沒有發現任何錯誤並且最終沒有生成報告。
scan-build xcodebuild -workspace RetainCycleDemo.xcworkspace -scheme RetainCycleDemo -configuration Debug -sdk iphonesimulator15.2
這是保留周期代碼片段。
@interface ViewController ()
@property (nonatomic, copy) void(^aBlock)(void);
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
self.aBlock = ^{
NSLog(@"current vc = %p", self);
};
self.aBlock();
}
我想做的是使用任何 static 分析器命令行工具來查找諸如某些保留周期之類的錯誤。 既然 Xcode 能夠在編輯器中報告警告,我們如何要求它生成包含這些警告的報告? 或者還有其他我們可以使用的命令行工具嗎?
如果您在沒有任何檢查器的情況下調用 scan-build,它將使用默認檢查器進行分析。 您可以檢查默認啟用的檢查器
scan-build --help
默認情況下啟用帶有“+”的檢查器。 在列表中,有一些檢查器可以與 OSX 一起使用(例如:osx.OSObjectRetainCount 檢查 OSObject 的泄漏和不正確的引用計數管理)。 要啟用檢查器,請使用 -enable-checker:
scan-build -enable-checker osx.OSObjectRetainCount <your compile command>
希望它會有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.