diff --git a/share/qtcreator/gdbmacros/gdbmacros.py b/share/qtcreator/gdbmacros/gdbmacros.py index cfb71cd2ebd0b5a27e589330d60deb067065fed8..2c7840e0ec6444c5a5d79a3bdc9a5c6bc39cb458 100644 --- a/share/qtcreator/gdbmacros/gdbmacros.py +++ b/share/qtcreator/gdbmacros/gdbmacros.py @@ -1811,6 +1811,8 @@ def qdump__std__set(d, item): def qdump__std__string(d, item): data = item.value["_M_dataplus"]["_M_p"] baseType = item.value.type.unqualified().strip_typedefs() + if baseType.code == gdb.TYPE_CODE_REF: + baseType = baseType.target().unqualified().strip_typedefs() charType = baseType.template_argument(0) repType = lookupType("%s::_Rep" % baseType).pointer() rep = (data.cast(repType) - 1).dereference()