Mirror of the gdb mailing list
 help / color / mirror / Atom feed
* use of python to pretty-print STL structures, etc.
@ 2007-12-21 21:57 Doug Evans
  2007-12-21 22:45 ` Vladimir Prus
  2007-12-22  7:17 ` Jim Blandy
  0 siblings, 2 replies; 3+ messages in thread
From: Doug Evans @ 2007-12-21 21:57 UTC (permalink / raw)
  To: gdb

Hi.  Python scripting support will eventually be added to gdb.  I'd
like to better understand folks's views on if/how Python will help
with one sore spot in gdb, namely the printing of c++ data structures
in a way that is useful to the programmer, instead of the raw dump
that is done today.

e.g. instead of

#include <string>
string s ("hello");
int main () { return 0; }

(gdb) p s
$1 = {static npos = 4294967295,
  _M_dataplus = {<std::allocator<char>> =
{<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data
fields>}, _M_p = 0x9783014 "hello"}}

and staring at the output to find what one wants, or doing "p
s._M_dataplus._M_p", programmers would often rather just do something
like "p s" and get "hello".  Similarily for vectors, etc.

As I understand it, and I'm sure you'll correct me if I'm wrong :-),
the plan is to solve this problem with the new Python scripting
support.

I realize there's no real design as of yet (at least that I'm aware
of), but my question is whether folks have thought about what it would
look like from the command line.

At a very basic level, do folks envision keeping the current cli u/i
(*1) and enhancing it to provide python-providable extensions?  Have
folks thought about how they would like the above problem to be solved
(with python or without)?

---
(*1): One can replace the implementation as desired, it's the u/i I'm
concerned with in this message.


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

end of thread, other threads:[~2007-12-22  7:17 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-12-21 21:57 use of python to pretty-print STL structures, etc Doug Evans
2007-12-21 22:45 ` Vladimir Prus
2007-12-22  7:17 ` Jim Blandy

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox