Xcode 3.2: Build & Analyze never finds any issues
I've used the Clang Static Analyzer from the command line before. I wanted to try Xcode's built-in version via Build & Analyze. I never get any negative results even though i specially prepared my code with very obvious issues Clang was always able to point out:
// 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];
The result is always the same: a green checkbox, no issues. I read that C++ code can cause issues. I'm running this with cocos2d that includes box2d. Could this be a cause? Did anyone get results from Build & Analyze with the cocos2d engine? What else could it be?
I also tried enabling the Static Analyzer Build Settings and then Build but the result was the same. I have restarted Xcode, cleaned all targets and emptied Xcode caches to no avail.
UPDATE: my issue could be caused by having added cocos2d as a cross-project reference to my project. Analyzing the cocos2d project itself seperately reveals some analyzer results.
In addition i found out that i get Analyzer results from my RELEASE开发者_Python百科 build configurations but not from DEBUG builds.
I'm using Cocos2d and Box2d, and I get plenty of warnings from Build and Analyze. Check to make sure your project's compiler is set to GCC 4.2 under "Compiler Version" in the Build Settings.
For anyone that might come across this thread (and for the OP in case the problem persists):
I had this problem when building for the Simulator. However, switching to Device build got the Analyzer running.
This site might shed some more light on the issue: http://useyourloaf.com/blog/2010/10/5/xcode-build-and-analyze-broken-for-simulator.html
I also get plenty of Analyze warnings with my Cocos2d game. I cleaned most of them up, but cocos2d 0.99.1 has 3 built-in! (Which should be easily fixed.)
I have noticed that sometimes the analyzer doesn't find things unless I have that particular file open when I run it... go figure.
精彩评论