From 187e4d683d42bdf2510689fc3bba7e4ce3bcd84b Mon Sep 17 00:00:00 2001 From: Friedemann Kleint <Friedemann.Kleint@nokia.com> Date: Mon, 10 Jan 2011 10:51:51 +0100 Subject: [PATCH] Debugger[New CDB]: Show pointer values in simple dumpers. --- src/libs/qtcreatorcdbext/symbolgroupvalue.cpp | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/libs/qtcreatorcdbext/symbolgroupvalue.cpp b/src/libs/qtcreatorcdbext/symbolgroupvalue.cpp index 81d64a72672..bbe31077ed0 100644 --- a/src/libs/qtcreatorcdbext/symbolgroupvalue.cpp +++ b/src/libs/qtcreatorcdbext/symbolgroupvalue.cpp @@ -1585,13 +1585,6 @@ static bool dumpQVariant(const SymbolGroupValue &v, std::wostream &str, void **s return true; } -static inline std::wstring msgContainerSize(int s) -{ - std::wostringstream str; - str << L'<' << s << L" items>"; - return str.str(); -} - // Dump builtin simple types using SymbolGroupValue expressions. unsigned dumpSimpleType(SymbolGroupNode *n, const SymbolGroupValueContext &ctx, std::wstring *s, int *knownTypeIn /* = 0 */, @@ -1616,7 +1609,14 @@ unsigned dumpSimpleType(SymbolGroupNode *n, const SymbolGroupValueContext &ctx, return SymbolGroupNode::SimpleDumperNotApplicable; } + std::wostringstream str; + + // Prefix by pointer value const SymbolGroupValue v(n, ctx); + if (SymbolGroupValue::isPointerType(v.type())) + if (const ULONG64 pointerValue = v.pointerValue()) + str << std::showbase << std::hex << pointerValue << std::dec << std::noshowbase << ' '; + // Simple dump of size for containers if (kt & KT_ContainerType) { const int size = containerSize(kt, v); @@ -1625,12 +1625,12 @@ unsigned dumpSimpleType(SymbolGroupNode *n, const SymbolGroupValueContext &ctx, if (containerSizeIn) *containerSizeIn = size; if (size >= 0) { - *s = msgContainerSize(size); + str << L'<' << size << L" items>"; + *s = str.str(); return SymbolGroupNode::SimpleDumperOk; } return SymbolGroupNode::SimpleDumperFailed; } - std::wostringstream str; unsigned rc = SymbolGroupNode::SimpleDumperNotApplicable; switch (kt) { case KT_QChar: -- GitLab