1
0
Fork 0

Go to thread entry option added

This commit is contained in:
dreg_fr33project 2014-08-29 18:43:35 +02:00
parent d50209f221
commit ee6220279b
2 changed files with 17 additions and 0 deletions

View File

@ -15,6 +15,8 @@ void ThreadView::contextMenuSlot(const QPoint & pos)
wMenu->addSeparator();
wMenu->addMenu(mSetPriority);
wMenu->addSeparator();
wMenu->addAction(mGoToThreadEntry);
wMenu->addSeparator();
QMenu wCopyMenu("&Copy", this);
setupCopyMenu(&wCopyMenu);
if(wCopyMenu.actions().length())
@ -49,6 +51,13 @@ void ThreadView::contextMenuSlot(const QPoint & pos)
wMenu->exec(mapToGlobal(pos)); //execute context menu
}
void ThreadView::GoToThreadEntry()
{
QString addr_text = getCellContent(getInitialSelection(), 2);
DbgCmdExecDirect(QString("disasm " + addr_text).toUtf8().constData());
emit showCpu();
}
void ThreadView::SwitchThread()
{
QString threadId = getCellContent(getInitialSelection(), 1);
@ -133,6 +142,7 @@ void ThreadView::setupContextMenu()
mKillThread = new QAction("Kill Thread", this);
connect(mKillThread, SIGNAL(triggered()), this, SLOT(KillThread()));
// Set priority
mSetPriority = new QMenu("Set Priority", this);
mSetPriorityIdle = new QAction("Idle", this);
@ -162,6 +172,11 @@ void ThreadView::setupContextMenu()
mSetPriorityTimeCritical = new QAction("Time Critical", this);
connect(mSetPriorityTimeCritical, SIGNAL(triggered()), this, SLOT(SetPriorityTimeCriticalSlot()));
mSetPriority->addAction(mSetPriorityTimeCritical);
// GoToThreadEntry
mGoToThreadEntry = new QAction("Go to Thread Entry", this);
connect(mGoToThreadEntry, SIGNAL(triggered()), this, SLOT(GoToThreadEntry()));
}
ThreadView::ThreadView(StdTable* parent) : StdTable(parent)

View File

@ -19,6 +19,7 @@ public slots:
void SuspendThread();
void ResumeThread();
void KillThread();
void GoToThreadEntry();
void contextMenuSlot(const QPoint & pos);
void SetPriorityIdleSlot();
void SetPriorityAboveNormalSlot();
@ -35,6 +36,7 @@ private:
int mCurrentThread;
QAction* mSwitchThread;
QAction* mSuspendThread;
QAction* mGoToThreadEntry;
QAction* mResumeThread;
QAction* mKillThread;
QAction* mSetPriorityIdle;