In .NET 4.5, we configured our assemblies to create debugging symbols for the Release assembly - to help debug crash dumps, etc. on customer sites.
My question is: without a debugger connected and working normally during the production process, does the presence of debugging symbols indicate that the garbage collector behaves differently?
I recently read the following in an e-book:
βEach of these assemblies will be combined with debugging symbols, which will lead to lower performance, which means that the GC will not work as efficiently as in the release build. In essence, the GC will be less aggressive in recovering memory when debugging symbols are turned on "Since debugging symbols are enabled, the GC must be prepared for the debugger to be attached, and many of the rules for identifying unreachable links may not apply. With a debugger connected, many more objects can be reached."
It's true?
source share