hg: jdk7/build/langtools: 6829575: 100028: Debug information is incomplete or missing

Jonathan Gibbons Jonathan.Gibbons at Sun.COM
Sat Apr 18 01:00:23 UTC 2009


Andrew Haley wrote:
> Andrew Haley wrote:
>   
>> 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 tried removing that hunk entirely for langtools, and it doesn't work: I
> get missing local variable data.
>
> I'm going to change langtools/jaxp/jaxws to
>
> ifeq ($(DEBUG_CLASSFILES), true)
>   ANT_OPTIONS += -Djavac.debug=true
>   ANT_OPTIONS += -Djavac.debuglevel=source,lines,vars
> endif
>
> and retest.
>
> Andrew.
>
>   

Yes.  If all you want to do is to provide a consistent way of enabling 
all debug info in classfiles, then I agree with this proposed change.   
I'm sorry, I misread the earlier email and confused Kelly's proposed 
change  with your actual changeset.

-- Jon
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/build-dev/attachments/20090417/bb1ab36e/attachment.htm>


More information about the build-dev mailing list