Re: Relationship between GDB commands in Python and Guile

Yao Qi
2015-03-17T12:04:16Z

Andy Wingo <wingo@igalia.com> writes:

> "info pretty-printers" won't list pretty-printers that are written in
> Scheme. Likewise for type printers, frame filters, in the future frame
> sniffers, etc etc.
>
> Is there a story about how this is supposed to work?
>
> Options:
>
> 1. Do nothing, you have to use a Guile API to query and manipulate
> Guile pretty-printers.
>
> 2. Somehow bake the abstraction of registered pretty printers more
> deeply into GDB, and move the implementation of the command into
> GDB core.
>
> 3. Somehow bake the abstraction of registered pretty printers more
> deeply into GDB, but still have the command implemented in Python.
>
> 4. Have Python provide a hooks for each of these commands by which
> Guile could provide it with additional entries. Pretty nasty.

I don't know much about gdb python/guile extension, but I prefer 2.

> An open question would be how to indicate that python extensions win
> over guile extensions. Perhaps we should query extensions by language,
> then, and then list python ones first. Having a unified "priority"
> doesn't make sense in that context. Perhaps the pretty-printing (etc)
> mechanism should, in that case, instead be more fine-grained -- not just
> "try python first", but instead trying the printers (frame filters, etc)
> in order of priority. Perhaps that's too much setup work though; not
> sure what the cost is to "enter" python mode etc.

I'd like to know why is such question raised? In practise, is it common
that users install two pretty-printers, one is python and one is guile?

IMO, extensions by different languages are fair to each other.

--
Yao (齐尧)