diff options
author | hjk <hjk121@nokiamail.com> | 2014-12-17 13:14:29 +0100 |
---|---|---|
committer | hjk <hjk121@nokiamail.com> | 2014-12-18 12:53:46 +0100 |
commit | 3743211e547ebaa4d6046e018492cf803a4ed018 (patch) | |
tree | fbc706848272b4772112aacc31e1f8fd92ef8c38 /src/plugins/debugger/stackwindow.cpp | |
parent | b2bb7ea2dac978e31d632e42ce18a657fbbda2f2 (diff) | |
download | qt-creator-3743211e547ebaa4d6046e018492cf803a4ed018.tar.gz |
Debugger: Rework register handling
Use register names as handle, not their index in the view.
Store the raw real values, not some stringified version
as primary data. Use subentries to break down bigger
registers into smaller entities. Also remember the
previous value of a register and show it in a tooltip.
Change-Id: I8ae3cc8766a7b211bc7cc827c734e5cf6060825c
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
Diffstat (limited to 'src/plugins/debugger/stackwindow.cpp')
-rw-r--r-- | src/plugins/debugger/stackwindow.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/plugins/debugger/stackwindow.cpp b/src/plugins/debugger/stackwindow.cpp index c621d84d19..f2193a91a4 100644 --- a/src/plugins/debugger/stackwindow.cpp +++ b/src/plugins/debugger/stackwindow.cpp @@ -214,12 +214,13 @@ void StackTreeView::contextMenuEvent(QContextMenuEvent *ev) if (act == actCopyContents) { copyContentsToClipboard(); } else if (act == actShowMemory) { - const QString title = tr("Memory at Frame #%1 (%2) 0x%3"). - arg(row).arg(frame.function).arg(address, 0, 16); - QList<MemoryMarkup> ml; - ml.push_back(MemoryMarkup(address, 1, QColor(Qt::blue).lighter(), + MemoryViewSetupData data; + data.startAddress = address; + data.title = tr("Memory at Frame #%1 (%2) 0x%3"). + arg(row).arg(frame.function).arg(address, 0, 16); + data.markup.push_back(MemoryMarkup(address, 1, QColor(Qt::blue).lighter(), tr("Frame #%1 (%2)").arg(row).arg(frame.function))); - engine->openMemoryView(address, 0, ml, QPoint(), title); + engine->openMemoryView(data); } else if (act == actShowDisassemblerAtAddress) { AddressDialog dialog; if (address) |