Release VS Debug version

hi,
this is my simple problem;
i’ve developed a project under momentics 6.2.1 (windows xp host), i’ve
debugged it remotely on the target and it worked perfectly.
after that i’ve compiled the debug and the release version and i’ve
transferred both version to the target. then started it.
the debug version works perfectly while the release doesnt’work like it
should.
what the problem could be?
in my applications there are different threads and some windows realized
with the TILCON ide, but till now the release version has always worked
fine. Suddenly, after fixing some bugs, it stops working.
there are many differente between the two version?
i can use them indifferently in my final target version?
perhaps it is new user problem o probably i’m doing something wrong in the
code from a point over.
thanks a lot for any suggestions
Andrea Piergentili

You can’t necessarily assume that the debug and release versions are the
same. They are compiled with different flags. If nothing else, it’s
quite likely that the debug version is unoptimized.

It’s possible that you’re seeing an optimization bug. You might want to
try running the release version in the debugger to see where it crashes.
A release version still has enough symbol information to give you a
backtrace.

An alternative is to try compiling a debug version with the same
optimization flags as the release version to see if it crashes.

cheers,

Kris

Andrea Piergentili wrote:

hi,
this is my simple problem;
i’ve developed a project under momentics 6.2.1 (windows xp host), i’ve
debugged it remotely on the target and it worked perfectly.
after that i’ve compiled the debug and the release version and i’ve
transferred both version to the target. then started it.
the debug version works perfectly while the release doesnt’work like it
should.
what the problem could be?
in my applications there are different threads and some windows realized
with the TILCON ide, but till now the release version has always worked
fine. Suddenly, after fixing some bugs, it stops working.
there are many differente between the two version?
i can use them indifferently in my final target version?
perhaps it is new user problem o probably i’m doing something wrong in the
code from a point over.
thanks a lot for any suggestions
Andrea Piergentili

Kris Warkentin <kewarken@qnx.com> wrote:

You can’t necessarily assume that the debug and release versions are the
same. They are compiled with different flags. If nothing else, it’s
quite likely that the debug version is unoptimized.

It’s possible that you’re seeing an optimization bug. You might want to
try running the release version in the debugger to see where it crashes.
A release version still has enough symbol information to give you a
backtrace.

It can be an optimization bug, or it can be a code bug that is masked
by the lack of optimization – things setup in different places can
do this.

-David

David Gibbs
QNX Training Services
dagibbs@qnx.com

hi,
debugging deeply my threads i’ve found that the problem bear out on some
local array that are not initialized in the function they belong to.
then i use this array for taking data from a bus with an external dll and
the first polling cicle fails. i don’t know why.
i’ve solved the problem putting the local array as global variables or
using pointer and malloc functions instead of arrays.
thanks a lot again
Andrea

David Gibbs wrote:

Kris Warkentin <> kewarken@qnx.com> > wrote:
You can’t necessarily assume that the debug and release versions are the
same. They are compiled with different flags. If nothing else, it’s
quite likely that the debug version is unoptimized.

It’s possible that you’re seeing an optimization bug. You might want to
try running the release version in the debugger to see where it crashes.
A release version still has enough symbol information to give you a
backtrace.

It can be an optimization bug, or it can be a code bug that is masked
by the lack of optimization – things setup in different places can
do this.

-David

David Gibbs
QNX Training Services
dagibbs@qnx.com