Skip to content

Commit 3096f0d

Browse files
torusrxxxmrexodia
authored andcommitted
Add warning to follow in dis bc tracing dont support ASLR;add TID & LastErr
1 parent 36003e3 commit 3096f0d

File tree

1 file changed

+15
-1
lines changed

1 file changed

+15
-1
lines changed

src/gui/Src/Tracer/TraceBrowser.cpp

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -547,6 +547,16 @@ void TraceBrowser::setupRightClickContextMenu()
547547
#endif //_WIN64
548548
addReg(ArchValue("EIP", "RIP"), cip)
549549
addReg(ArchValue("EFLAGS", "RFLAGS"), eflags)
550+
menu->addSeparator();
551+
menu->addAction(QString("ThreadID: %1").arg(mTraceFile->ThreadId(index)));
552+
if(index + 1 < mTraceFile->Length())
553+
{
554+
menu->addAction(QString("LastError: %1 -> %2").arg(ToPtrString(mTraceFile->Registers(index).lastError.code)).arg(ToPtrString(mTraceFile->Registers(index + 1).lastError.code)));
555+
}
556+
else
557+
{
558+
menu->addAction(QString("LastError: %1").arg(ToPtrString(mTraceFile->Registers(index).lastError.code)));
559+
}
550560
return true;
551561
});
552562
mMenuBuilder->addMenu(makeMenu(tr("Information")), infoMenu);
@@ -1305,7 +1315,11 @@ void TraceBrowser::followDisassemblySlot()
13051315
if(mTraceFile == nullptr || mTraceFile->Progress() < 100)
13061316
return;
13071317

1308-
DbgCmdExec(QString("dis ").append(ToPtrString(mTraceFile->Registers(getInitialSelection()).regcontext.cip)).toUtf8().constData());
1318+
duint cip = mTraceFile->Registers(getInitialSelection()).regcontext.cip;
1319+
if(DbgMemIsValidReadPtr(cip))
1320+
DbgCmdExec(QString("dis ").append(ToPtrString(cip)).toUtf8().constData());
1321+
else
1322+
GuiAddStatusBarMessage(tr("Cannot follow %1. Address is invalid.\n").arg(ToPtrString(cip)).toUtf8().constData());
13091323
}
13101324

13111325
void TraceBrowser::searchConstantSlot()

0 commit comments

Comments
 (0)