[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-openjfx-dev
Subject:    Re: Debugging JavaFX
From:       Kevin Rushforth <kevin.rushforth () oracle ! com>
Date:       2019-07-18 12:26:06
Message-ID: 46b17fcb-1ac5-ca32-1e84-e84ac2436cf8 () oracle ! com
[Download RAW message or body]

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@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@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
> > > > > > > > > > > > 
> > > > > > > > > > > > 
> > 


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic