Bugzilla – Bug 360395
Enable debugging mode by default
Last modified: 2011-06-02 18:01:05 UTC
Shouldn't we enable the runtime debugging mode by default? This would match MS, and would make it easier to troubleshoot issue (when debugging symbols are available). What's the rationale for not enabling it by default? Performance?
Yes, performance. Generating debug info at runtime takes time and memory. I agree however, that this should be enabled by default. It will have a perf impact, but that can be lessened by optimizing the relevant code. People who care about the perf impact could disable it with a new command line option.
Should not we use System.Diagnostics.DebuggableAttribute for this purpose ?
Zoltan, any update on this?
No, its not really for me to decide.
We are in no position to make such decision as there are a couple of unanswered questions that we must first deal with. How big is the memory and performance footprint? How much more memory apps such as banshee, MD and others consume. How longer the initialization of MD takes? The debugging mode code is not well tested. Not so long ago, I fixed a memory leak that happened for all frames of an exception stack-trace. So how much work is there to make it really production ready? What is the impact of enabling this for other projects? Will this have any impact on the debugger, for example? Anyway, unfortunately right now we cannot have --debug and generic sharing at the same time or the debugger breaks. Neither Martin or Mark have reported on fixing the issue. Let's get over this first before moving on with the discussion. So, if this change is to be done, it's not happening on the 2.2 time frame as the runtime team have too much at hand and there are quite some work to get to the point that it's sane do it.