diff options
author | David Schulz <david.schulz@qt.io> | 2024-04-15 10:24:12 +0200 |
---|---|---|
committer | David Schulz <david.schulz@qt.io> | 2024-04-18 08:17:26 +0000 |
commit | beff48609cf76a9024346a7c3211f387d0747e4e (patch) | |
tree | e6fec3dd26e5aa76e7b540d7c4b3c7269423eadc /src/libs/qtcreatorcdbext | |
parent | 5201af657471c20d2bacbfa6273479562fc2cb41 (diff) |
Debugger: add symbolgroup dumper to cdbbridge
Change-Id: I70f9831873cd17f0ee6a59c4345f2a28921c41bf
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Diffstat (limited to 'src/libs/qtcreatorcdbext')
-rw-r--r-- | src/libs/qtcreatorcdbext/pyvalue.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/libs/qtcreatorcdbext/pyvalue.cpp b/src/libs/qtcreatorcdbext/pyvalue.cpp index f3813abf85..671f4d5350 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<CIDebugSymbolGroup *, std::list<PyValue *>> 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))) |