
On Wed, Dec 2, 2009 at 9:02 AM, David Bergman <David.Bergman@bergmangupta.com> wrote:
On Dec 2, 2009, at 10:34 AM, Vladimir Prus wrote:
Phil Endecott wrote:
Vladimir Prus wrote:
-O2 makes debugging experience sufficiently painful that nobody will ever want to use that in debug builds, except in very unusual circumstances
I routinely build with -O3 -g
And is that the set of options you actually use when you wish to debug something that is know to be buggy? Or are those the set of options that permit you to get somewhat usable backtrace "in the field"?
Wow, I am often surprised by the tangential discussions that pop up here :-)
Yes, it is sometimes proper to use both -g and -O2 (or -O3); I do it at times, but not as often as only with -g.
BUT, this was not about "debug" vs "release" build. I know that you created a build without any optimization and with debug symbols (-g) when you got your big output (300k, right?) I just wanted to find out what the extra luggage of Boost.Serialization would be in a more relevant scenario, of a release build, i.e., I never stated that I created a "debug" build.
I do the same for Visual Studio, I have debugging turned on in both Debug and Release, thankfully the debug data is stored in a separate file and not in the application file so when I distribute then I do not have to include that usually massive debug file. Is there not a way to make it an external information file in GCC as in VS?