Debugging JavaFX

Kevin Rushforth kevin.rushforth at oracle.com
Thu Jul 18 12:26:06 UTC 2019


Regarding the GTK3 dependency, I filed JDK-8227808 [1] a couple days ago 
to fail at build time if the GTK3 libraries aren't present, rather than 
generating a library that doesn't run. I also just updated the Wiki.

-- Kevin

[1] https://bugs.openjdk.java.net/browse/JDK-8227808


On 7/17/2019 11:18 PM, Robert Lichtenberger wrote:
> I started from scratch today and was able to compile and use JavaFX with
> debug information.
> When trying to start the test application an error was thrown: no glassgtk3
> in java.library.path;
> Now thanks to the debugging information beeing present I was able to debug
> GtkApplication like a charm and found out that my machine (Fedora 30)
> didn't have gtk3-devel installed.
>
> To that end I suggest someone updates
> https://wiki.openjdk.java.net/pages/viewpage.action?pageId=8257548#BuildingOpenJFX-OracleEnterpriseLinux7andFedora21
> and adds gtk3-devel to the list of required packages. The equivalent
> libgtk-3-dev is already there in the Ubuntu section.
>
> Best regards,
> Robert
>
> Am Do., 18. Juli 2019 um 08:09 Uhr schrieb Tom Eugelink <tbee at tbee.org>:
>
>> 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