Printing STL List Entries in GDB
Eric Chun
eric.chun@amd.com
Tue Jun 26 01:05:00 GMT 2007
I tried using single quotes as well, but it still won't print the value:
p (('std::_List_node' *) $curNode)->_M_data
No symbol "std::_List_node" in current context.
Do I need to the type of list entries I'm trying to print? I'm trying
to create a user-defined command in gdb for printing stl lists so I'd
rather keep the command general so that I could reuse this command for
any other lists I might want to print.
Paolo Carlini wrote:
> Eric Chun wrote:
>
>> Does anybody know how to print list entries in gdb? I've tried all
>> the following:
>> set $curNode = &$list->_M_impl._M_node
>> p ((_List_node *) $curNode)->_M_data
>> p ((std::_List_node_base *) $curNode)->_M_data
>> p *($curNode)
>> but none of these give me the value of the list entries.
>
> Unfortunately, due to gdb/1588, you have to use quotes for nested names
> in casts. For example:
>
> ('std::_List_node<int>' *)
More information about the Libstdc++
mailing list