5/30/09

Difference between Debug and Release versions?

Debug version:
1. Contains extra debugging information in the exe or dll built
2. Needs respective debug versioned Support files.(MFC Dll’s ended with d letter)
3. Compiled provides the extra memory guards, takes care of pointers without allocated memory.
4. Output file size (dll/exe) is very large.
Release version:
1. No debugging information.
2. Optimized for maximum speed.
3. Needs respective release versioned Support files.(MFC Dll’s ended without d letter)
4. Output file size (dll/exe) is very small.

1 comment:

Ian Hickman said...

There is one more important difference between Debug and Release: if you fail to initialise a variable, it will be set to 0 in debug but left uninitialised in release, i.e.

Debug:
int i; // i = 0

Release:
int i; // i = random uninitialised memory.