簡體   English   中英

如何使用 Xcode static 分析器命令行生成 HTML 警告報告?

[英]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.

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