archer/tromey patches left to merge

Tom Tromey tromey@redhat.com
Mon Oct 14 14:38:00 GMT 2013


Phil> * gdb.cli() command.
[...]
Phil>   I understand why this exists (to invoke an interactive GDB
Phil>   command-line from a Python script), but I feel a little dubious
Phil>   about it.  Can we can construct a solid-use case for it?

The idea is to be able to write a "mostly invisible" invocation of gdb.
That is, start gdb on some program and run it; perhaps setting
breakpoints or whatever in a script; and have this gdb not print
anything and otherwise be as invisible as possible.  Then, if something
"interesting" happens, start up the gdb CLI.

Phil> * maint set python auto-load.
Phil>   I think this patch is dead.  It has been superseded by a the more
Phil>   generic and powerful gdb auto-load commands.

Yes.

Phil> * require command.
Phil>   This command loads on demand a Python script that registers a gdb
Phil>   command and which has not been auto-loaded at start-up.  This makes
Phil>   it easier to load GDB commands written in Python.
  
This is obsolete.  We automatically load these things now.

Phil> * ignore_errors command.
Phil>   A wrapper which executes a single command, ignoring and suppressing
Phil>   all errors.
Phil>   I think this patch is dead.  Users can deal with these exceptions
Phil>   independently.

No, not dead, this comes up pretty regularly.
There was some upstream discussion about whether we want this or the old
"try-catch" patch that is in bugzilla.

Phil> * pahole command.

Phil>   Show the holes in a structure.  Takes a type. Comment on those areas
Phil>   where it thinks it detects a hole.

Phil>   I think this command is generally useful.  I think I remember some
Phil>   comments about some problems with it.  I am hoping the discussion
Phil>   regarding the problems can be rewritten and posted here.

I think there are bugs with virtual bases; and it only prints in C
syntax.

One alternative idea would be to simply make this an option to ptype.
That's probably better most of the time.

Phil> * caller_is convenience function.

Definitely upstream.

Phil> * caller_matches convenience function.

Phil>   Same as above, but use re.match for the comparison.  I think this
Phil>   functionality should be rolled into caller_is.

I don't see how to roll it in, but definitely worth having upstream.

Phil> * in_scope convenience function.

Phil>   Return true if all the given variables and macros provided to it are
Phil>   in scope.  This function takes a variable amount of arguments, and
Phil>   will only Return true if all the arguments are in scope.  

I don't know whether this one is useful or not.
There was a "bad" patch for this functionality upstream, so I wrote this
function to show how it could be done.

Tom



More information about the Archer mailing list