This is the mail archive of the gdb-prs@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]

[Bug mi/13419] New: Unable to pretty-print map of lists


http://sourceware.org/bugzilla/show_bug.cgi?id=13419

             Bug #: 13419
           Summary: Unable to pretty-print map of lists
           Product: gdb
           Version: unknown
            Status: NEW
          Severity: normal
          Priority: P2
         Component: mi
        AssignedTo: unassigned@sourceware.org
        ReportedBy: mail@milianw.de
    Classification: Unclassified


See also: https://bugs.kde.org/show_bug.cgi?id=257834

Compile the following code:

~~~~~~~~~~
#include <map>
#include <list>
#include <string>
using namespace std;

int main()
{
    typedef map<string, list<string> > map_t;
    map_t m;
    m["one"].push_back("a");
    m["one"].push_back("b");
    m["one"].push_back("c");
    m["two"].push_back("1");
    m["two"].push_back("2");
    m["two"].push_back("3");
    map_t::const_iterator i = m.begin();
    i++;
    return 0; // <= break point on this line
              // neither "m" nor "i" are displayed in correct way
}
~~~~~~~~~~~

Now run it and see how it's not possible to get access to the contents of the
map of lists in a sane way using the gdb-mi commands:

gdb -i mi ./a.out
break 18 // assumes return 0; is on line 18
-var-create - * m
// now compare this, esp. note the 'value="{...}"'
-var-list-children --all-values var1
// with this
print m
// similarily compare the output of this:
-var-create - * i
// with the output of
print i

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.


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