Skip to content

Commit 6508104

Browse files
committed
DBG+GUI: dont wanna talk about it...
1 parent 2e60f3a commit 6508104

File tree

9 files changed

+18
-1
lines changed

9 files changed

+18
-1
lines changed

src/bridge/bridgemain.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -797,6 +797,7 @@ typedef struct
797797
{
798798
duint start;
799799
duint end;
800+
duint view;
800801
} SELECTIONDATA;
801802

802803
typedef struct

src/dbg/debugger.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -245,7 +245,7 @@ void DebugUpdateStack(duint dumpAddr, duint csp, bool forceDump)
245245
{
246246
SELECTIONDATA selection;
247247
if (GuiSelectionGet(GUI_STACK, &selection))
248-
dumpAddr = selection.start;
248+
dumpAddr = selection.view;
249249
}
250250
GuiStackDumpAt(dumpAddr, csp);
251251
}

src/gui/Src/BasicView/Disassembly.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1451,6 +1451,12 @@ dsint Disassembly::getSize()
14511451
return mMemPage->getSize();
14521452
}
14531453

1454+
duint Disassembly::getTableOffsetRva()
1455+
{
1456+
return mInstBuffer.size() ? mInstBuffer.at(0).rva : 0;
1457+
1458+
}
1459+
14541460
void Disassembly::historyClear()
14551461
{
14561462
mVaHistory.clear(); //clear history for new targets

src/gui/Src/BasicView/Disassembly.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ class Disassembly : public AbstractTableView
7575
void disassembleClear();
7676
const dsint getBase() const;
7777
dsint getSize();
78+
duint getTableOffsetRva();
7879

7980
// history management
8081
void historyClear();

src/gui/Src/BasicView/HexDump.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,11 @@ duint HexDump::rvaToVa(dsint rva)
9696
return mMemPage->va(rva);
9797
}
9898

99+
duint HexDump::getTableOffsetRva()
100+
{
101+
return getTableOffset() * getBytePerRowCount() - mByteOffset;
102+
}
103+
99104
void HexDump::mouseMoveEvent(QMouseEvent* event)
100105
{
101106
bool wAccept = true;

src/gui/Src/BasicView/HexDump.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,7 @@ class HexDump : public AbstractTableView
132132

133133
void printDumpAt(dsint parVA, bool select, bool repaint = true);
134134
duint rvaToVa(dsint rva);
135+
duint getTableOffsetRva();
135136

136137
signals:
137138
void selectionUpdated();

src/gui/Src/Gui/CPUDisassembly.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -826,6 +826,7 @@ void CPUDisassembly::selectionGetSlot(SELECTIONDATA* selection)
826826
{
827827
selection->start = rvaToVa(getSelectionStart());
828828
selection->end = rvaToVa(getSelectionEnd());
829+
selection->view = rvaToVa(getTableOffsetRva());
829830
Bridge::getBridge()->setResult(1);
830831
}
831832

src/gui/Src/Gui/CPUDump.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1173,6 +1173,7 @@ void CPUDump::selectionGet(SELECTIONDATA* selection)
11731173
{
11741174
selection->start = rvaToVa(getSelectionStart());
11751175
selection->end = rvaToVa(getSelectionEnd());
1176+
selection->view = rvaToVa(getTableOffsetRva());
11761177
Bridge::getBridge()->setResult(1);
11771178
}
11781179

src/gui/Src/Gui/CPUStack.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -418,6 +418,7 @@ void CPUStack::selectionGet(SELECTIONDATA* selection)
418418
{
419419
selection->start = rvaToVa(getSelectionStart());
420420
selection->end = rvaToVa(getSelectionEnd());
421+
selection->view = rvaToVa(getTableOffsetRva());
421422
Bridge::getBridge()->setResult(1);
422423
}
423424

0 commit comments

Comments
 (0)