This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH, doc RFA] Add ability to set random attributes in python objfiles,progspaces


Phil Muldoon writes:
 > Maybe add a small example here as you did with gdb.Objfile?  Or maybe
 > an xref.  One of my goals in the next year is to add (and backfill in
 > existing documentation) more example led documentation for Python.
 > Sometimes an example speaks (ten) thousand words!

I couldn't think of a simple one.

 > > +@smallexample
 > > +(gdb) python
 > > +import datetime
 > > +def new_objfile_handler (event):
 > > +    event.new_objfile.time_loaded = datetime.datetime.today ()
 > > +gdb.events.new_objfile.connect (new_objfile_handler)
 > > +end
 > > +(gdb) file ./hello
 > > +Reading symbols from ./hello...done.
 > > +(gdb) python print gdb.objfiles()[0].time_loaded
 > > +2014-10-09 11:41:36.770345
 > > +@end smallexample
 > 
 > This is really awesome example. (Linking in from comment above).
 > Thanks for taking the time out to provide a "useful" example that is
 > also simple.

Yeah, this one was simple enough and educational enough
that it was worth the time and effort.

 > >  A @code{gdb.Objfile} object has the following methods:
 > > 
 > >  @defun Objfile.is_valid ()
 > > diff --git a/gdb/python/py-objfile.c b/gdb/python/py-objfile.c
 > > index df29691..32bceee 100644
 > > --- a/gdb/python/py-objfile.c
 > > +++ b/gdb/python/py-objfile.c
 > > @@ -30,6 +30,9 @@ typedef struct
 > >    /* The corresponding objfile.  */
 > >    struct objfile *objfile;
 > > 
 > > +  /* Dictionary holding user-added attributes.  */
 > > +  PyObject *dict;
 > > +
 > 
 > My only nit here is the naming.  dict is kind of generic.  I know it
 > follows on from the fields code :( Even though you wrote a comment,
 > later use in the code means (say a year from now), I have to
 > remember what this mysterious "dict" is.

Note that this is also __dict__ from the Python side.
I'd use the name __dict__ here for clarity, but I can't. :-)
[compiler's namespace]

I can certainly add __dict__ to the comment though.

 > Thanks for this patch.  It seems really useful (and in implementation
 > fairly simple to implement).  I wonder if there are other objects in
 > Python that could benefit from the ability to arbitrarily record
 > keep?

Like all things in gdb/python, things get added on a demand basis.
[This observation extends to more pieces of gdb than just gdb/python.
I'm happy to change the rules, but I do insist on there being
no double standards. :-)]


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]