0

I have debugged C++ codes using gdb in Ubuntu 14.04. When I pass a stl container to the print command, it used to print the contents of the container. But then I upgraded to Ubuntu 16.04 LTS a week back. Now those pretty printers are not working. When I print them I get those raw container output you get when you don't have python printers installed.

This guy also has the same problem.

I have libstdcxx/v6/python.pyon my system. I also have libstdc++.so.6.0.21-gdb.py in the auto-load folder. When I print info pretty-printer in gdb, I get a list of stl printers, so I know they are registered. However, my gdb doesn't print stl::list variable. i have enabled pretty-printer, set print pretty on.

My gcc version is 5.4 and gdb version is 7.11.1.Both were installed along with Ubuntu 16.04. I haven't built them manually. So anything obvious I am missing?

1 Answer 1

1

In my case, the ~/.gdbinit file had a line:

sys.path.insert(0, '/usr/share/gcc-4.8/python/')

It turned out that changing it into: (4.8->5)

sys.path.insert(0, '/usr/share/gcc-5/python/')

helped.

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.