Debugging JavaFX
Robert Lichtenberger
r.lichtenberger at gmail.com
Thu Jul 18 06:18:12 UTC 2019
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