Post Go back to editing

Difference of Debug vs Release

I use same source files and LDF in one project, no special use of library like debug print , etc. I can build the project successfully with release configuration, and failed at linking in debug configuration, it was said that the some variables can not be mapped into processor.

So I want to know exactly all the different things in debug and release build versions, to build project successfully with both debug and release configuration.

BTW, VDSP4.5 and BF533 in use.

  • Of course the difference between the two configurations is going to depend on any project options you have changed, but I'll assume you are asking about the default setting in the debug and release configurations in VisualDSP++.

    The most obvious difference between the two configurations is going to be the settings for the compiler.  In the debug configuration, the compiler does not optimize the program, and it also produced debug directives that will allow you to have greater visibility into your program's behavior.  In the release configuration the compiler will optimize the program.

    Another is that linker elimination is enabled in the release configuration.  With linker elimination, the linker will remove functions or data that is not referenced by your program.

    One consequence is that an optimized program, and a program where unused code and data is eliminated, will be smaller than an un-optimized program.  So it may be that you don't have enough memory for your program unless it is optimized.

        --kenb3

  • I think in general when Release config doesn't work and Debug works - it is worth taking screenshot of both configs and compare side by side. That way you can spot things you would not necessarily see.

    I'm replying to this post because I have just figured out what was wrong in my settings. Just noticed that my Release config and Debug - configure memories  in two different ways... . I didnt spot it before. Now everything works fine

    Generally difference between Release and Debug should be look like this:

    Example items

    Compiler:

    - Enable optimization -> for release

    - Generate debug info -> for debug

    Asemble:

    - Generate debug info -> for debug

    Linker:

    - Eliminate unused objects -> for release

    - Use Debug System libraries -> for debug