gdb and OpenJDK

Erik Helin erik.helin at oracle.com
Mon Feb 16 12:06:53 UTC 2015


On 2015-02-16, Andrew Haley wrote:
> On 02/16/2015 10:43 AM, Volker Simonis wrote:
> > Now if we replicate this SA code one more time in a Python library for
> > GDB, you'll probably agree that it can't work more reliably than the
> > original SA code. This may be good enough for some use cases, but it
> > won't be perfect. I'm not a gdb/DWARF expert but I think what we
> > really need is to generate debug information for all the generated
> > code. We need to know for every single PC of generated code the
> > corresponding frame information and how to get to the previous frame.
> 
> It would be nice.  We don't actually need it, given that we've done
> without for years, and generating e.g. full DWARF unwinder data for
> every instruction is something that even GCC doesn't always attempt to
> do.  (And, of course, there's a lot of hand-written assembly code in
> HotSpot.  Annotating this is a significant effort.)

Do we really need to use DWARF though? The gdbjit interface seems to
support a custom debug format if you also implement a reader for
your custom debug format. I've never done this, so I can't say if
there is something missing from the gdbjit API that HotSpot requires.

> On 02/16/2015 10:43 AM, Volker Simonis wrote:
> > I know it's possible and I know that gdb has callbacks to consume this
> > debug information which is generated at runtime (see [1]) although
> > I've never programmed it myself. LLVM seems to use this technique and
> > has some documentation available ([2,3]). I suppose this is the
> > direction Erik wanted to go and I think that would be the right way.

Yes, this is the idea I tried to explain.

On 2015-02-16, Andrew Haley wrote:
> It would be, long term.  I've been discussing this with Red Hat's GDB
> group and I'm hoping to come up with a proposal and hopefully some
> working code.

That would be great, I would really like to see how far we can get with
a solution based on gdbjit (or something similar). Thanks for putting
time into this!

Thanks,
Erik

> Andrew.


More information about the serviceability-dev mailing list