Debugging JavaFX
Kevin Rushforth
kevin.rushforth at oracle.com
Thu Jul 18 12:25:10 UTC 2019
I see that Tom Schindl filed the Enhancement request.
https://bugs.openjdk.java.net/browse/JDK-8228357
-- Kevin
On 7/17/2019 11:08 PM, Tom Eugelink wrote:
> Hm. Being able to just debug JavaFX will seriously lower the threshold
> for people to get on board. Personally if I run into a library that is
> behaving faulty and I need to download and compile it first, I'm
> already not very happy (it's a hassle). But ahm... cygwin, visual
> studio, directshow header files (on windows) is not "just type gradle".
>
>
> On 18-7-2019 06:45, Robert Lichtenberger wrote:
>> Thanks for the information. Maybe something in my setup was wrong.
>> I'd also
>> appreciate if the default builds would contain debug information, this
>> would make JavaFX much more "developer friendly".
>>
>> Robert
>>
>> Am Do., 18. Juli 2019 um 00:04 Uhr schrieb Kevin Rushforth <
>> kevin.rushforth at oracle.com>:
>>
>>> 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