Jonathan Gibbons wrote: > > On Apr 17, 2009, at 9:11 AM, Andrew Haley wrote: > >> Jonathan Gibbons wrote: >> >>> It's one thing to be enabling more debug information if you set flags, >>> and/or making it more consistent, but I'm not happy with you removing >>> debug information by default. At least from reading the changeset diff, >>> it seems there is no way to get what was previously the default amount >>> of debug info, which is source,lines (but not vars). >>> >>> Source and lines are good to get useful stack traces in the face of >>> exceptions, even if var information is not present. var information is >>> typically not required in product builds. >> >> Oh dear. I discussed this at considerable length with Kelly, whose >> suggestion it was to change >> >> ifeq ($(DEBUG_CLASSFILES), true) >>> ANT_OPTIONS += -Djavac.debug=true >>> ANT_OPTIONS += -Djavac.debuglevel=source,lines,vars >>> endif >> >> to be >> >>> ifeq ($(DEBUG_CLASSFILES), true) >>> ANT_OPTIONS += -Djavac.debug=true >>> ANT_OPTIONS += -Djavac.debuglevel=source,lines,vars >>> else >>> ANT_OPTIONS += -Djavac.debug=false >>> ANT_OPTIONS += -Djavac.debuglevel= >>> endif >> >> It was not my intention to break anything that already existed, but >> simply to add debuginfo where it was disabled. >> >> Can you please point me to exactly which hunks of my diff are >> problematic? >> The only place I can see that might be a problem is javac. > > If your intention was to ensure that debug info was added, then the changeset > for langtools (which you summarise above) would not seem to be necessary, > because the old code honored setting DEBUG_CLASSFILES to true.
OK. I'm surprised, but I'll pull out that hunk and give it a try. I think this may be a clash between the way that I needed to do it in JDK 6 and 7. (I tested the patches on 6 first, and then moved to 7.) > It is the new "else" branch that disables debug info if > DEBUG_CLASSFILES is not set that is problematic. > I accept this changeset is part of an overall larger set of > changesets across all repositories. What exactly were the goals? All I need is a simple way to turn on full debugging information everywhere. The problem was that there was no single way to do it. > It seems to me it is arguably desirable to have three settings (not > two). All debugging on (source,lines,vars) Basic debugging on > (source,lines) No debugging There is arguably a fourth candidate for > consideration, which is "local default" which allows the choice to > be made on a more fine-grained (albeit inconsistent) basis. Sure. That's not something I need, but I'm happy to work with you to get it done. Andrew.