Skip to content

Commit 50e3388

Browse files
committed
GUI: added "Follow Entry Point in Disassembler" option in Symbols view
1 parent 7deb139 commit 50e3388

File tree

2 files changed

+12
-0
lines changed

2 files changed

+12
-0
lines changed

x64_dbg_gui/Project/Src/Gui/SymbolView.cpp

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,9 @@ void SymbolView::setupContextMenu()
111111
mFollowModuleAction->setShortcut(QKeySequence("enter"));
112112
connect(mFollowModuleAction, SIGNAL(triggered()), this, SLOT(moduleFollow()));
113113

114+
mFollowModuleEntryAction = new QAction("Follow &Entry Point in Disassembler", this);
115+
connect(mFollowModuleEntryAction, SIGNAL(triggered()), this, SLOT(moduleEntryFollow()));
116+
114117
mDownloadSymbolsAction = new QAction("&Download Symbols for This Module", this);
115118
connect(mDownloadSymbolsAction, SIGNAL(triggered()), this, SLOT(moduleDownloadSymbols()));
116119

@@ -231,6 +234,7 @@ void SymbolView::moduleContextMenu(const QPoint & pos)
231234
return;
232235
QMenu* wMenu = new QMenu(this); //create context menu
233236
wMenu->addAction(mFollowModuleAction);
237+
wMenu->addAction(mFollowModuleEntryAction);
234238
wMenu->addAction(mDownloadSymbolsAction);
235239
wMenu->addAction(mDownloadAllSymbolsAction);
236240
QMenu wCopyMenu("&Copy", this);
@@ -249,6 +253,12 @@ void SymbolView::moduleFollow()
249253
emit showCpu();
250254
}
251255

256+
void SymbolView::moduleEntryFollow()
257+
{
258+
DbgCmdExecDirect(QString("disasm " + mModuleList->getCellContent(mModuleList->getInitialSelection(), 1) + "?entry").toUtf8().constData());
259+
emit showCpu();
260+
}
261+
252262
void SymbolView::moduleDownloadSymbols()
253263
{
254264
DbgCmdExec(QString("symdownload " + mModuleList->getCellContent(mModuleList->getInitialSelection(), 1)).toUtf8().constData());

x64_dbg_gui/Project/Src/Gui/SymbolView.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ private slots:
3030
void symbolRefreshCurrent();
3131
void moduleContextMenu(const QPoint & pos);
3232
void moduleFollow();
33+
void moduleEntryFollow();
3334
void moduleDownloadSymbols();
3435
void moduleDownloadAllSymbols();
3536
void toggleBreakpoint();
@@ -52,6 +53,7 @@ private slots:
5253
QAction* mToggleBreakpoint;
5354
QAction* mToggleBookmark;
5455
QAction* mFollowModuleAction;
56+
QAction* mFollowModuleEntryAction;
5557
QAction* mDownloadSymbolsAction;
5658
QAction* mDownloadAllSymbolsAction;
5759

0 commit comments

Comments
 (0)