Differences between openJDK and oracleJDK

Andrew Dinn adinn at redhat.com
Thu Sep 22 15:30:50 UTC 2016


On 22/09/16 16:15, dalibor topic wrote:
> On 21.09.2016 16:31, Luan Cestari wrote:
>> It seems
>> that OpenJDK doesn't have all the debug info
> 
> You'll need to inquire with the provider of a particular binary how and
> if you can get the corresponding debug info file(s), and/or how to get
> them to work with your installation.

This appears to be with reference to an OpenJDK provided via the package
manager on fedora 24. fedora provides a debuginfo repo and debuginfo
packages which can be downloaded using the debuginfo-install command
which allow symbols to be resolved even in production images. With the
relevant java debuginfo package installed method addresses can be
resolved to names in the debugger and by various other tools (e.g.my
stack unwinder).

However, it's worth noting that installation of debuginfo is not
required for some profiling tools. Profilers which rely on a JVMTI
native agent can rely on the JVMTI native interface to associate code
address ranges with method names. For example, the standard fedora
profile tool, oprofile, employs a JVMTI agent to generate such info when
it is sampling PC addresses in Java code and does not need debuginfo to
be installed in order to work.

I don't really know what Luan is referring to when he talks about flame
graphs. If this is something that is displaying data gathered by
oprofile then he needs to read the oprofile docs to identify how to
configure the required JVMTI agent. If instead this is really something
that really does rely on reading debug info then he had better look up
the man page for debuginfo-install.

regards,


Andrew Dinn
-----------
Senior Principal Software Engineer
Red Hat UK Ltd
Registered in England and Wales under Company Registration No. 03798903
Directors: Michael Cunningham, Michael ("Mike") O'Neill, Eric Shander


More information about the discuss mailing list