【问题标题】:Xcode 3.2: Build & Analyze never finds any issuesXcode 3.2:构建和分析从未发现任何问题
【发布时间】:2011-02-13 20:47:39
【问题描述】:

我以前在命令行中使用过 Clang 静态分析器。我想通过 Build & Analyze 尝试 Xcode 的内置版本。即使我专门为我的代码准备了 Clang 总是能够指出的非常明显的问题,我也从未得到任何负面结果:

    // over-releasing an object:
    [label release];
    [label release];

    // uninitialized vars, allocating but not freeing an object
    NSString* str;
    int number;
    CCLabel* newLabel = [[CCLabel alloc] initWithString:str fontName:str fontSize:number];
    [newLabel setPosition:CGPointZero];

结果总是一样的:一个绿色的复选框,没有问题。 我读到 C++ 代码可能会导致问题。我正在使用包含 box2d 的 cocos2d 运行它。这可能是一个原因吗?有人用 cocos2d 引擎从 Build & Analyze 得到结果吗?还能是什么?

我也尝试启用静态分析器构建设置,然后构建,但结果是一样的。我重新启动了 Xcode,清理了所有目标并清空了 Xcode 缓存,但无济于事。


更新:我的问题可能是由于将 cocos2d 添加为对我的项目的跨项目引用引起的。单独分析 cocos2d 项目本身会发现一些分析结果。

此外,我发现我从我的 RELEASE 构建配置中获得了分析器结果,而不是从 DEBUG 构建中获得。

【问题讨论】:

    标签: xcode cocos2d-iphone clang xcode3.2 clang-static-analyzer


    【解决方案1】:

    我正在使用 Cocos2d 和 Box2d,我从 Build and Analyze 收到大量警告。检查以确保您的项目的编译器在构建设置中的“编译器版本”下设置为 GCC 4.2。

    【讨论】:

    • 实际上它必须设置为“LLVM GCC 4.2”......我得到了分析结果!但是,我在预编译前缀标头时也收到“无法执行”错误。我得深入研究一下,也许我需要更新 LLVM GCC?
    • 我意识到我仍然安装了 SDK 3.2 Seed,我将重新安装 SDK 3.2 final 并检查我是否忘记安装某些东西,因为“llvm-gcc-4.2”可执行文件不存在我的 Xcode 安装
    • 现在我又没有结果了……啊。我想我会坚持使用命令行 llvm gcc 而不是在这上面浪费时间。
    • 您是否先清理了所有目标?
    【解决方案2】:

    对于可能遇到此线程的任何人(以及对于 OP,以防问题仍然存在):

    我在为模拟器构建时遇到了这个问题。但是,切换到 Device build 后,Analyzer 就开始运行了。

    这个网站可能会更清楚地说明这个问题:http://useyourloaf.com/blog/2010/10/5/xcode-build-and-analyze-broken-for-simulator.html

    【讨论】:

      【解决方案3】:

      我的 Cocos2d 游戏也收到大量分析警告。我清理了大部分,但是 cocos2d 0.99.1 内置了 3 个! (这应该很容易修复。)

      我注意到有时分析器找不到任何东西,除非我在运行它时打开了那个特定的文件……看图。

      【讨论】:

      • 要进行全面分析,您必须运行干净的构建,否则编译器不会分析已编译的文件
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-05-27
      • 2021-01-04
      • 2021-02-04
      • 2012-06-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多