之前我从命令行使用过Clang Static Analyzer。我想通过Build& amp;尝试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 ++代码可能会导致问题。我用cocos2d运行它,包括box2d。这可能是一个原因吗?有没有人从Build&获得结果用cocos2d引擎分析?还有什么呢?
我还尝试启用静态分析器构建设置然后构建,但结果是相同的。我重新启动了Xcode,清理了所有目标并清空了Xcode缓存无济于事。
更新:我的问题可能是由于将cocos2d添加为项目的跨项目引用。分析cocos2d项目本身会分别显示一些分析结果。
此外,我发现我从我的RELEASE构建配置中获取了Analyzer结果,但未从DEBUG构建中获得。
答案 0 :(得分:1)
我正在使用Cocos2d和Box2d,我从Build and Analyze获得了大量警告。检查以确保项目的编译器在Build Settings中的“Compiler Version”下设置为GCC 4.2。
答案 1 :(得分:1)
对于任何可能遇到此主题的人(如果问题仍然存在,则为OP):
构建模拟器时遇到了这个问题。但是,切换到Device build会使Analyzer运行。
此网站可能会对此问题有所了解:http://useyourloaf.com/blog/2010/10/5/xcode-build-and-analyze-broken-for-simulator.html
答案 2 :(得分:0)
我的Cocos2d游戏也有很多分析警告。我清理了大部分,但cocos2d 0.99.1有3个内置! (应该很容易修复。)
我注意到有时分析器找不到东西,除非我在运行它时打开那个特定的文件...去图。