Release Firmware vs. Debug Firmware Behaving Differently
I have noticed lately that when switching between my release and debug build configurations that the code behaves differently. Looking at the Project Build Settings the only difference I see between the two is the Release GCC and G++ compilers are optimized for speed as opposed to optimized for Debug, and that the release Debug Level is None.
Does anyone know of resources of code to watch out for that would cause different behavior depending on the Compiler optimization. Are there methods of debugging in the release configuration that would help figure out what could be causing these differences?
Edit:
I have gone ahead and matched my release optimization settings to the debug optimization settings and I am now seeing the same behavior between the two. So I guess any insight/resources into what these optimization settings are changing in the code base so I can still optimize for speed or size without changing functionality would be greatly appreciated!
