public inbox for gdb@sourceware.org
 help / color / mirror / Atom feed
* New Python/Guile Unwinder API wiki page
@ 2016-04-08 11:59 Pedro Alves
  2016-04-08 13:05 ` Andrew Dinn
  0 siblings, 1 reply; 4+ messages in thread
From: Pedro Alves @ 2016-04-08 11:59 UTC (permalink / raw)
  To: gdb

Hi folks,

I've created a new wiki page to collect information on the
Python/Guile Unwinder APIs:

 https://sourceware.org/gdb/wiki/UnwinderAPI

The intention is to collect information that isn't gdb manual
material, but that would help anyone making use of the API.
Things like links to current users of the APIs, past discussions that
might help one avoid potential pitfalls, suggestions, etc.

The page is pretty empty right now, with just a few links to Andy
Wingo's v8/guile scripts, and Tom Tromey's spidermonkey/python scripts.

Everyone, please do feel free to edit the page at will.  E.g., more
and/or better urls would be greatly appreciated.

I'm pretty clueless on the APIs myself, though I've been getting
questions about it, and my hope is that a centralized hub
will help.  :-)

Thanks,
Pedro Alves

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: New Python/Guile Unwinder API wiki page
  2016-04-08 11:59 New Python/Guile Unwinder API wiki page Pedro Alves
@ 2016-04-08 13:05 ` Andrew Dinn
  2016-04-08 13:44   ` Pedro Alves
  0 siblings, 1 reply; 4+ messages in thread
From: Andrew Dinn @ 2016-04-08 13:05 UTC (permalink / raw)
  To: Pedro Alves, gdb

Hi Pedro,

and hello gdb list (1st post for me :-)

On 08/04/16 12:59, Pedro Alves wrote:
> I've created a new wiki page to collect information on the
> Python/Guile Unwinder APIs:
> 
>  https://sourceware.org/gdb/wiki/UnwinderAPI
> 
> The intention is to collect information that isn't gdb manual
> material, but that would help anyone making use of the API.
> Things like links to current users of the APIs, past discussions that
> might help one avoid potential pitfalls, suggestions, etc.

I'm currently trying to use the API to implement stack unwinding for
OpenJDK. So, I have useful experience to report which I will add asap.
I'll also add some corroborating detail to bugs raised by Tom Tromey as
he was doing his spider monkey implementation.

n.b. Phil Muldoon also opened this tracker bug for things which my
implementation (also Tom's) is currently having to work around:

  https://sourceware.org/bugzilla/show_bug.cgi?id=19923

n.b. despite a few problems I /have/ managed to get a basic unwinder &
frame decorator to work on OpenJDK8 and 9 without needing to modify
OpenJDK to do so. These issues are either limiting its function or
rendering it less than unrobust. It's a great API.

> The page is pretty empty right now, with just a few links to Andy
> Wingo's v8/guile scripts, and Tom Tromey's spidermonkey/python scripts.

As soon as I can I get my current code into a public repo I'll link it
to the page above.

regards,


Andrew Dinn
-----------
Senior Principal Software Engineer
Red Hat UK Ltd
Registered in UK and Wales under Company Registration No. 3798903
Directors: Michael Cunningham (US), Michael O'Neill (Ireland), Paul
Argiry (US)

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: New Python/Guile Unwinder API wiki page
  2016-04-08 13:05 ` Andrew Dinn
@ 2016-04-08 13:44   ` Pedro Alves
  2016-04-13 15:41     ` Andrew Dinn
  0 siblings, 1 reply; 4+ messages in thread
From: Pedro Alves @ 2016-04-08 13:44 UTC (permalink / raw)
  To: Andrew Dinn, gdb

On 04/08/2016 02:05 PM, Andrew Dinn wrote:
> Hi Pedro,
> 
> and hello gdb list (1st post for me :-)
> 
> On 08/04/16 12:59, Pedro Alves wrote:
>> I've created a new wiki page to collect information on the
>> Python/Guile Unwinder APIs:
>>
>>  https://sourceware.org/gdb/wiki/UnwinderAPI
>>
>> The intention is to collect information that isn't gdb manual
>> material, but that would help anyone making use of the API.
>> Things like links to current users of the APIs, past discussions that
>> might help one avoid potential pitfalls, suggestions, etc.
> 
> I'm currently trying to use the API to implement stack unwinding for
> OpenJDK. So, I have useful experience to report which I will add asap.
> I'll also add some corroborating detail to bugs raised by Tom Tromey as
> he was doing his spider monkey implementation.

Awesome, much appreciated.

> 
> n.b. Phil Muldoon also opened this tracker bug for things which my
> implementation (also Tom's) is currently having to work around:
> 
>   https://sourceware.org/bugzilla/show_bug.cgi?id=19923

Actually, I opened it, but as penance, Phil may get to actually
fix some of the dependencies.  :-)

> 
> n.b. despite a few problems I /have/ managed to get a basic unwinder &
> frame decorator to work on OpenJDK8 and 9 without needing to modify
> OpenJDK to do so. These issues are either limiting its function or
> rendering it less than unrobust. It's a great API.
> 
>> The page is pretty empty right now, with just a few links to Andy
>> Wingo's v8/guile scripts, and Tom Tromey's spidermonkey/python scripts.
> 
> As soon as I can I get my current code into a public repo I'll link it
> to the page above.

Wonderful!

Thanks,
Pedro Alves

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: New Python/Guile Unwinder API wiki page
  2016-04-08 13:44   ` Pedro Alves
@ 2016-04-13 15:41     ` Andrew Dinn
  0 siblings, 0 replies; 4+ messages in thread
From: Andrew Dinn @ 2016-04-13 15:41 UTC (permalink / raw)
  To: Pedro Alves, gdb

Hi Pedro,

On 08/04/16 14:43, Pedro Alves wrote:
>> As soon as I can I get my current code into a public repo I'll link it
>> to the page above.
> 
> Wonderful!

The (mercurial) repo containing the latest OpenJDK unwinder code is now
linked from the Wiki page at

  https://sourceware.org/gdb/wiki/UnwinderAPI

Click on OpenJDK and it should take you to

  http://icedtea.classpath.org/people/adinn/unwinder

The repo contains a README explaining how to install the unwinder into
either a product release OpenJDK or a home-brewed debug build. I'll be
updating the code over the next week

  i) to explicitly use python longs rather than ints for register values
(yes, my python really is so ropy that I thought an int /was/ a long)

  ii) to try to compute and display line numbers for addresses in
JIT-compiled methods

However, despite the above omissions it still seems to be quite useable.

regards,


Andrew Dinn
-----------
Senior Principal Software Engineer
Red Hat UK Ltd
Registered in UK and Wales under Company Registration No. 3798903
Directors: Michael Cunningham (US), Michael O'Neill (Ireland), Paul
Argiry (US)

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2016-04-13 15:41 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-04-08 11:59 New Python/Guile Unwinder API wiki page Pedro Alves
2016-04-08 13:05 ` Andrew Dinn
2016-04-08 13:44   ` Pedro Alves
2016-04-13 15:41     ` Andrew Dinn

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).