Did you know your C/C++ compiler could do this? Support debugging of applications built for production environments

Those of us who develop C++ applications for a living, often hit a
dilemma when analyzing functional errors. Should I debug my
application using a symbolic debugger, or should I just add prints and
traces to the code to understand its behavior?

Too often developers choose the latter, slowing down the application
development cycle. Not only must they recompile parts of the
application to pick up these changes, but they need to know ahead of
time what data to examine, which is often hard to predict in advance.
This effectively creates a long cycle of instrument-compile-test
iterations that is not very productive. Also, in some cases tracing is
not an effective solution, for example for long running programs that
might generate large unmanageable traces. In some cases the traces
themselves may interfere with the behavior of the application, for
example when the developer is dealing with memory corruption or access
to uninitialized storage.

Read the rest of the story at http://ibm.co/KU4s8A