From beff48609cf76a9024346a7c3211f387d0747e4e Mon Sep 17 00:00:00 2001 From: David Schulz Date: Mon, 15 Apr 2024 10:24:12 +0200 Subject: Debugger: add symbolgroup dumper to cdbbridge Change-Id: I70f9831873cd17f0ee6a59c4345f2a28921c41bf Reviewed-by: Christian Stenger --- src/libs/qtcreatorcdbext/pyvalue.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'src/libs/qtcreatorcdbext') diff --git a/src/libs/qtcreatorcdbext/pyvalue.cpp b/src/libs/qtcreatorcdbext/pyvalue.cpp index f3813abf85e..671f4d5350b 100644 --- a/src/libs/qtcreatorcdbext/pyvalue.cpp +++ b/src/libs/qtcreatorcdbext/pyvalue.cpp @@ -13,8 +13,23 @@ constexpr bool debuggingValueEnabled() { return debugPyValue || debugPyCdbextMod static std::map> valuesForSymbolGroup; +void dumpSymbolGroup(CIDebugSymbolGroup *symbolGroup) +{ + if (!debuggingValueEnabled()) + return; + + ULONG count; + if (FAILED(symbolGroup->GetNumberSymbols(&count))) + return; + DebugPrint() << "Symbol group " << symbolGroup << " has " << count << " symbols"; + for (ULONG i = 0; i < count; ++i) + DebugPrint() << " " << i << ": " << PyValue(i, symbolGroup).name(); +} + void PyValue::indicesMoved(CIDebugSymbolGroup *symbolGroup, ULONG start, ULONG delta) { + if (debuggingValueEnabled()) + DebugPrint() << "PyValue::indicesMoved " << symbolGroup << " start " << start << " delta " << delta << "\n"; if (delta == 0) return; ULONG count; @@ -26,6 +41,7 @@ void PyValue::indicesMoved(CIDebugSymbolGroup *symbolGroup, ULONG start, ULONG d if (val->m_index >= start && val->m_index + delta < count) val->m_index += delta; } + dumpSymbolGroup(symbolGroup); } PyValue::PyValue(unsigned long index, CIDebugSymbolGroup *symbolGroup) @@ -146,6 +162,7 @@ bool PyValue::expand() return false; if (params.Flags & DEBUG_SYMBOL_EXPANDED) return true; + dumpSymbolGroup(m_symbolGroup); if (FAILED(m_symbolGroup->ExpandSymbol(m_index, TRUE))) return false; if (FAILED(m_symbolGroup->GetSymbolParameters(m_index, 1, ¶ms))) -- cgit v1.2.3