Revision 751488d...

Go back to digest for 9th February 2014

Bug Fixes in Development Tools

Milian Wolff committed changes in [kdevelop] debuggers/gdb/gdbvariable.cpp:

Fix inspecting of nested STL containers.

The problem is that GDB MI shows no children for dynamic STL objects,
it just add "dynamic" attribute to it. Here is -var-list-children
output for std::map< int, std::vector<std::string> > object:

SEND: "-var-list-children --thread 1 --frame 0 --all-values "var1" 0 5
kdevelop(20230)/kdevelop (gdb debugger) GDBDebugger::GDB::processLine:
GDB output:
"^done,numchild="2",displayhint="map",children=[child={name="var1.[0]",
exp="[0]",numchild="0",value="0",type="const int",thread-id="1"},
child={name="var1.[1]",exp="[1]",numchild="0",value="{...}",
type="std::vector<std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::allocator<std::basic_string<char,
std::char_traits<char>, std::allocator<char> >
> >",thread-id="1",displayhint="array",dynamic="1"}],has_more="0""

As you see, the second variable, std::vector<std::string> has
numchild="0", but dynamic="1". This patch adds extra check for
"dynamic" attribute in variables.

File Changes

Modified 1 files
  • debuggers/gdb/gdbvariable.cpp
1 files changed in total