Xcode Difference between debug and release

er.mobileapp picture er.mobileapp · Mar 11, 2011 · Viewed 14.8k times · Source

What are the differences between debug and release builds for a Cocoa application? I know the debug version contains additional information for debugging but what else is different?

Answer

Candyfloss picture Candyfloss · Mar 11, 2011

I quote

"The biggest difference between these is that: In a debug build the complete symbolic debug information is emitted to help while debugging applications and also the code optimization is not taken into account. While in release build the symbolic debug info is not emitted and the code execution is optimized. Also, because the symbolic info is not emitted in a release build, the size of the final executable is lesser than a debug executable.

One can expect to see funny errors in release builds due to compiler optimizations or differences in memory layout or initialization. These are ususally referred to as Release - Only bugs :)

In terms of execution speed, a release executable will execute faster for sure, but not always will this different be significant."

Courtesy of google and user mcdeeiis http://haacked.com/archive/2004/02/14/difference-between-debug-vs-release-build.aspx

This is a pretty solid explanation for all programming languages