#include struct DeepData_5 { std::string m_some_text; DeepData_5() : m_some_text("Just a test") {} }; struct DeepData_4 { DeepData_5 m_child1; DeepData_5 m_child2; DeepData_5 m_child3; }; struct DeepData_3 { DeepData_4& m_child1; DeepData_4 m_child2; DeepData_3() : m_child1(* (new DeepData_4())), m_child2(DeepData_4()) {} }; struct DeepData_2 { DeepData_3 m_child1; DeepData_3 m_child2; DeepData_3 m_child3; DeepData_3 m_child4; }; struct DeepData_1 { DeepData_2 *m_child1; DeepData_1() : m_child1(new DeepData_2()) {} }; /* type summary add -f "${var._M_dataplus._M_p}" std::string type summary add -f "Level 1" "DeepData_1" type summary add -f "Level 2" "DeepData_2" -e type summary add -f "Level 3" "DeepData_3" type summary add -f "Level 4" "DeepData_4" type summary add -f "Level 5" "DeepData_5" */ int main() { DeepData_1 data1; DeepData_2 data2; return 0; // Set break point at this line. }