1
0
Fork 0

DBG: improved run command to allow run to X

This commit is contained in:
mrexodia 2017-03-12 05:52:58 +01:00
parent 1ae30cef53
commit 955ef47b6d
No known key found for this signature in database
GPG Key ID: FC89E0AAA0C1AAD8
3 changed files with 11 additions and 19 deletions

View File

@ -28,6 +28,8 @@ static bool skipInt3Stepping(int argc, char* argv[])
bool cbDebugRunInternal(int argc, char* argv[])
{
if(argc >= 2 && !DbgCmdExecDirect(StringUtils::sprintf("bp \"%s\", ss", argv[1]).c_str()))
return false;
// Don't "run" twice if the program is already running
if(dbgisrunning())
return false;
@ -292,7 +294,7 @@ bool cbDebugStepInto(int argc, char* argv[])
// History
HistoryAdd();
dbgsetstepping(true);
return cbDebugRunInternal(argc, argv);
return cbDebugRunInternal(1, argv);
}
bool cbDebugeStepInto(int argc, char* argv[])
@ -315,13 +317,13 @@ bool cbDebugStepOver(int argc, char* argv[])
// History
HistoryClear();
dbgsetstepping(true);
return cbDebugRunInternal(argc, argv);
return cbDebugRunInternal(1, argv);
}
bool cbDebugeStepOver(int argc, char* argv[])
{
dbgsetskipexceptions(true);
return cbDebugStepOver(argc, argv);
return cbDebugStepOver(1, argv);
}
bool cbDebugseStepOver(int argc, char* argv[])
@ -339,7 +341,7 @@ bool cbDebugSingleStep(int argc, char* argv[])
SingleStep((DWORD)stepcount, (void*)cbStep);
HistoryClear();
dbgsetstepping(true);
return cbDebugRunInternal(argc, argv);
return cbDebugRunInternal(1, argv);
}
bool cbDebugeSingleStep(int argc, char* argv[])
@ -352,7 +354,7 @@ bool cbDebugStepOut(int argc, char* argv[])
{
HistoryClear();
StepOver((void*)cbRtrStep);
return cbDebugRunInternal(argc, argv);
return cbDebugRunInternal(1, argv);
}
bool cbDebugeStepOut(int argc, char* argv[])

View File

@ -34,7 +34,7 @@ static bool cbDebugConditionalTrace(void(*callback)(), bool stepOver, int argc,
StepOver((void*)callback);
else
StepIntoWow64((void*)callback);
return cbDebugRunInternal(argc, argv);
return cbDebugRunInternal(1, argv);
}
bool cbDebugTraceIntoConditional(int argc, char* argv[])
@ -118,7 +118,7 @@ bool cbDebugRunToParty(int argc, char* argv[])
}
}
}
return cbDebugRunInternal(argc, argv);
return cbDebugRunInternal(1, argv);
}
bool cbDebugRunToUserCode(int argc, char* argv[])

View File

@ -1340,18 +1340,8 @@ void MainWindow::setNameMenu(int hMenu, QString name)
void MainWindow::runSelection()
{
QString command;
if(!DbgIsDebugging())
return;
if(mGraphView->hasFocus())
command = "bp " + ToPtrString(mGraphView->get_cursor_pos()) + ", ss";
else
command = "bp " + ToPtrString(mCpuWidget->getDisasmWidget()->getSelectedVa()) + ", ss";
if(DbgCmdExecDirect(command.toUtf8().constData()))
DbgCmdExecDirect("run");
if(DbgIsDebugging())
DbgCmdExec(("run " + ToPtrString(mGraphView->hasFocus() ? mGraphView->get_cursor_pos() : mCpuWidget->getDisasmWidget()->getSelectedVa())).toUtf8().constData());
}
void MainWindow::runExpression()