hg: jdk7/build/langtools: 6829575: 100028: Debug information is incomplete or missing
Andrew Haley
aph at redhat.com
Fri Apr 17 16:31:47 UTC 2009
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.
More information about the build-dev
mailing list