This is the mail archive of the 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: How to load C++ pretty-printers

On Sun, 2019-03-17 at 07:03 -0400, Joel Brobecker wrote:
> Hello Asmwarrior,
> On Sun, Mar 17, 2019 at 09:47:35AM +0800, asmwarrior wrote:
> > On Sun Mar 17 2019 00:00:29 GMT+0800, Eli Zaretskii wrote:
> > > So, for the record, I now have this in my ~/.gdbinit
> > > 
> > >   python import sys
> > >   python sys.path.insert(0, 'd:/usr/share/gcc-7.3.0/python')
> > >   source d:/usr/lib/gcc/mingw32/7.3.0/
> > > 
> > > (The last line both imports the function register_libstdcxx_printers,
> > > and calls that function.)
> > 
> > Thanks Eli and Simon.
> > 
> > I think I have followed this wiki page:
> > And I just the svn command to check-out the latest Python libstdc++
> > printers in GCC trunk.  So, that page should be updated, at least we
> > can teach people how to use the python printer bundled with their GCC
> > release.
> It is a fair comment. Would you volunteer to help us update it?
Note that even with pretty printers working, c++ debugging stays a mystery
for me (probably highly linked to my poor knowledge of C++):

E.g.  p current_program_space->added_solibs
 pretty printing works and gives:
      $11 = std::vector of length 13, capacity 16 = {0x56275a765a60,  ...

But then:
    p current_program_space->added_solibs[0]
    One of the arguments you tried to pass to operator[] could not be converted to what
    the function wants.
(why is then GDB not telling me what the function wants ?).
I am finally doing
   p (*(struct so_list*)0x56275a765a60)

But that all looks like a 'backward' user experience:
  I have to explain to GDB what to do, instead of GDB just working,
  or at least GDB explaining me more clearly what I am doing wrong.


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