Debugging JavaFX

Kevin Rushforth kevin.rushforth at oracle.com
Wed Jul 17 22:03:49 UTC 2019


I did a quick test and the difference in size is noticeable, but not 
huge -- on the order of 10% larger with the local symbols. You could 
file an enhancement to have a binary available with the local symbols 
(or to add them to the default build), but I don't know whether it's 
generally useful enough to justify it. Maybe Johan can weigh in on this one?

-- Kevin


On 7/17/2019 1:50 PM, Tom Eugelink wrote:
> I think I saw that one of the argument for not providing debug symbols 
> was size... If there is anything I would not quickly compromise on 
> nowadays is size. Even my smartwatch has gigabytes of internal 
> storage. If size is an issue for an application, it is usually not 
> caused by including debug symbols in a jar.
>
>
> On 17-7-2019 21:01, Tom Schindl wrote:
>> Well the main problem is that if there are no local var you can not set
>> conditional break points in the code, inject syserr logging to
>> understand what is going on and what your code does to FX.
>>
>> One could provide 2 artifacts one with and one without debug symbols.
>>
>> Tom
>>
>> On 17.07.19 19:12, Kevin Rushforth wrote:
>>> Mainly size. Generally if a developer is going to debug JavaFX to point
>>> of wanting to look at local variables, it doesn't seem a stretch for
>>> them to build JavaFX.
>>>
>>> -- Kevin
>>>
>>>
>>> On 7/17/2019 9:57 AM, Tom Schindl wrote:
>>>> so what is the reason to strip them (i guess it it size) it is 
>>>> extremely
>>>> painful to don't see local-variables, have parameter names, arg1,arg2,
>>>> ... .
>>>>
>>>> Tom
>>>>
>>>> On 17.07.19 17:01, Kevin Rushforth wrote:
>>>>> When you say that don't see a problem, what exactly do you mean? 
>>>>> If you
>>>>> are able to see the local variables in a production build, then that
>>>>> would in fact be surprising. The production builds, including EA 
>>>>> builds,
>>>>> should be being built with "-PCONF=Release" which would exclude vars.
>>>>> Someone from Gluon should confirm.
>>>>>
>>>>> -- Kevin
>>>>>
>>>>>
>>>>> On 7/17/2019 7:56 AM, Michael Paus wrote:
>>>>>> Hi,
>>>>>> I don't see any problem of that kind with Eclipse, on MacOS, JavaFX
>>>>>> 13-ea 9 via Maven.
>>>>>> Michael
>>>>>>
>>>>>> Am 17.07.19 um 16:45 schrieb Kevin Rushforth:
>>>>>>> That should have been enough to enable local variable symbols. We
>>>>>>> have the following logic for JavaCompile tasks:
>>>>>>>
>>>>>>>           compile.options.debugOptions.debugLevel = IS_DEBUG_JAVA ?
>>>>>>> "source,lines,vars" : "source,lines"
>>>>>>>
>>>>>>> IS_DEBUG_JAVA is true if CONF is either Debug or DebugNative.
>>>>>>>
>>>>>>> Maybe something else is stripping out the symbols.
>>>>>>>
>>>>>>> Has anyone else debugged JavaFX recently and tried to look at local
>>>>>>> vars? If not, I'll take a quick look later today.
>>>>>>>
>>>>>>> -- Kevin
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On 7/17/2019 7:38 AM, Robert Lichtenberger wrote:
>>>>>>>> I'm trying to get to the bottom of some weird layout problems 
>>>>>>>> in my
>>>>>>>> application.
>>>>>>>>
>>>>>>>> To that end I want/need to debug JavaFX classes.
>>>>>>>>
>>>>>>>> But when I step into JavaFX classes I don't see local variables or
>>>>>>>> parameter names.
>>>>>>>>
>>>>>>>> So I thought debug symbols are probably stripped from the official
>>>>>>>> builds.
>>>>>>>>
>>>>>>>> I rolled my own and tried
>>>>>>>>
>>>>>>>>        CONF = Debug
>>>>>>>>
>>>>>>>> and
>>>>>>>>
>>>>>>>>        CONF = DebugNative
>>>>>>>>
>>>>>>>> in gradle.properties, recompiled OpenJFX and integrated the 
>>>>>>>> libraries
>>>>>>>> into a little eclipse testproject.
>>>>>>>>
>>>>>>>> But I still don't see parameter names or local variables.
>>>>>>>>
>>>>>>>> Is there something else I need to do in order to see them?
>>>>>>>>
>>>>>>>>
>>>>>>>> Best regards,
>>>>>>>>
>>>>>>>> Robert
>>>>>>>>
>>>>>>>>
>



More information about the openjfx-dev mailing list