DBG+GUI: improvements to the freeze stack option
This commit is contained in:
parent
1d9835c84f
commit
32aa4b0a72
|
@ -452,11 +452,7 @@ void DebugUpdateStack(duint dumpAddr, duint csp, bool forceDump)
|
|||
if(GuiIsUpdateDisabled())
|
||||
return;
|
||||
if(!forceDump && bFreezeStack)
|
||||
{
|
||||
SELECTIONDATA selection;
|
||||
if(GuiSelectionGet(GUI_STACK, &selection))
|
||||
dumpAddr = selection.start;
|
||||
}
|
||||
dumpAddr = 0;
|
||||
GuiStackDumpAt(dumpAddr, csp);
|
||||
GuiUpdateArgumentWidget();
|
||||
}
|
||||
|
|
|
@ -242,6 +242,7 @@ void CPUStack::setupContextMenu()
|
|||
|
||||
//Freeze the stack
|
||||
mMenuBuilder->addAction(mFreezeStack = makeAction(DIcon("freeze.png"), tr("Freeze the stack"), SLOT(freezeStackSlot())));
|
||||
mFreezeStack->setCheckable(true);
|
||||
|
||||
//Follow in Memory Map
|
||||
mMenuBuilder->addAction(makeAction(DIcon("memmap_find_address_page.png"), tr("Follow in Memory Map"), SLOT(followInMemoryMapSlot())));
|
||||
|
@ -319,7 +320,10 @@ void CPUStack::updateFreezeStackAction()
|
|||
if(bStackFrozen)
|
||||
mFreezeStack->setText(tr("Unfreeze the stack"));
|
||||
else
|
||||
{
|
||||
mFreezeStack->setText(tr("Freeze the stack"));
|
||||
gotoSpSlot();
|
||||
}
|
||||
mFreezeStack->setChecked(bStackFrozen);
|
||||
}
|
||||
|
||||
|
@ -532,7 +536,8 @@ void CPUStack::mouseDoubleClickEvent(QMouseEvent* event)
|
|||
|
||||
void CPUStack::stackDumpAt(duint addr, duint csp)
|
||||
{
|
||||
addVaToHistory(addr);
|
||||
if(DbgMemIsValidReadPtr(addr))
|
||||
addVaToHistory(addr);
|
||||
mCsp = csp;
|
||||
|
||||
// Get the callstack
|
||||
|
|
Loading…
Reference in New Issue