This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Question about the Debug or Release mode in CCS studio

 

In the CCS environment ,What is the real difference   between the Debug or Release Mode.

I use usually the Debug Mode , knowing that the Directories Source and Include and Debug are used.

When i use the Release mode, it seems those previous directories are not used any more...

 

 

 

  • The debug configuration keeps the project options for the symbolic debugger within the project. The release configuration removes the symbolic debug option reducing the output file and disabling debugging. This is useful if you are finished with a project and will not need to debug.  Regards, Tim Love

     

  • Speaking more generically, the build configurations are simply a grouping of compiler and linker options.  By default CCS provides two such groups, "Debug" and "Release".  You can create as many groupings as you wish and call them anything you want.

    Within our default options the "Debug" configuration maintains the symbolic debug info whereas "Release" does not.  The "Release" version generally uses the optimizer (-o3) too.

    When you do things such as adding preprocessor include paths, etc. you need to do so for both the "Debug" and the "Release" configurations.  Since preprocessor include paths are "just another compiler option" from the perspective of the tools, you need to add it to both configurations.  Potentially these could be different include paths such that you get different header files for "Debug" or "Release", though that would be an uncommon thing to do (at least from what I've done).

    In the "Debug" configuration we define a symbol called _DEBUG.  If desired you could do something like this in your code:

    #ifdef _DEBUG

        // some piece of code that only gets compiled into the "Debug" version

    #endif

    I hope that clarifies a little further.

    Brad