Simplify calls to DbgCmdExec
This commit is contained in:
parent
73c31f2552
commit
ca74b2bdaf
|
@ -914,9 +914,9 @@ void Disassembly::keyPressEvent(QKeyEvent* event)
|
|||
if(DbgMemIsValidReadPtr(dest))
|
||||
{
|
||||
if(instr.arg[op].segment == SEG_SS)
|
||||
DbgCmdExec(QString("sdump %1").arg(ToPtrString(dest)).toUtf8().constData());
|
||||
DbgCmdExec(QString("sdump %1").arg(ToPtrString(dest)));
|
||||
else
|
||||
DbgCmdExec(QString("dump %1").arg(ToPtrString(dest)).toUtf8().constData());
|
||||
DbgCmdExec(QString("dump %1").arg(ToPtrString(dest)));
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -929,7 +929,7 @@ void Disassembly::keyPressEvent(QKeyEvent* event)
|
|||
dest = instr.arg[op].value;
|
||||
if(DbgMemIsValidReadPtr(dest))
|
||||
{
|
||||
DbgCmdExec(QString("dump %1").arg(ToPtrString(dest)).toUtf8().constData());
|
||||
DbgCmdExec(QString("dump %1").arg(ToPtrString(dest)));
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -247,18 +247,18 @@ void ReferenceView::referenceContextMenu(QMenu* wMenu)
|
|||
|
||||
void ReferenceView::followAddress()
|
||||
{
|
||||
DbgCmdExecDirect(QString("disasm " + mCurList->getCellContent(mCurList->getInitialSelection(), 0)).toUtf8().constData());
|
||||
DbgCmdExecDirect(QString("disasm " + mCurList->getCellContent(mCurList->getInitialSelection(), 0)));
|
||||
}
|
||||
|
||||
void ReferenceView::followDumpAddress()
|
||||
{
|
||||
DbgCmdExecDirect(QString("dump " + mCurList->getCellContent(mCurList->getInitialSelection(), 0)).toUtf8().constData());
|
||||
DbgCmdExecDirect(QString("dump " + mCurList->getCellContent(mCurList->getInitialSelection(), 0)));
|
||||
}
|
||||
|
||||
void ReferenceView::followApiAddress()
|
||||
{
|
||||
dsint apiValue = apiAddressFromString(mCurList->getCellContent(mCurList->getInitialSelection(), 1));
|
||||
DbgCmdExecDirect(QString("disasm " + ToPtrString(apiValue)).toUtf8().constData());
|
||||
DbgCmdExecDirect(QString("disasm " + ToPtrString(apiValue)));
|
||||
}
|
||||
|
||||
void ReferenceView::followGenericAddress()
|
||||
|
@ -306,7 +306,7 @@ void ReferenceView::setBreakpointAt(int row, BPSetAction action)
|
|||
wCmd = "bp " + ToPtrString(wVA);
|
||||
}
|
||||
|
||||
DbgCmdExecDirect(wCmd.toUtf8().constData());
|
||||
DbgCmdExecDirect(wCmd);
|
||||
}
|
||||
|
||||
void ReferenceView::toggleBreakpoint()
|
||||
|
|
|
@ -126,7 +126,7 @@ retryFindWindow:
|
|||
QMessageBox::Yes | QMessageBox::No, this);
|
||||
if(hiddenProcessDialog.exec() == QMessageBox::Yes)
|
||||
{
|
||||
DbgCmdExec(QString("attach %1").arg(pid, 0, 16).toUtf8().constData());
|
||||
DbgCmdExec(QString("attach %1").arg(pid, 0, 16));
|
||||
accept();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -116,7 +116,7 @@ void BreakpointMenu::toggleInt3BPActionSlot()
|
|||
wCmd = "bp " + ToPtrString(wVA);
|
||||
}
|
||||
|
||||
DbgCmdExec(wCmd.toUtf8().constData());
|
||||
DbgCmdExec(wCmd);
|
||||
//emit Disassembly::repainted();
|
||||
}
|
||||
|
||||
|
@ -132,7 +132,7 @@ void BreakpointMenu::editSoftBpActionSlot()
|
|||
Breakpoints::editBP(bp_normal, ToHexString(selection), dynamic_cast<QWidget*>(parent()));
|
||||
else
|
||||
{
|
||||
DbgCmdExecDirect(QString("bp %1").arg(ToHexString(selection)).toUtf8().constData()); //Blocking call
|
||||
DbgCmdExecDirect(QString("bp %1").arg(ToHexString(selection))); //Blocking call
|
||||
if(!Breakpoints::editBP(bp_normal, ToHexString(selection), dynamic_cast<QWidget*>(parent())))
|
||||
Breakpoints::removeBP(bp_normal, selection);
|
||||
}
|
||||
|
@ -153,7 +153,7 @@ void BreakpointMenu::toggleHwBpActionSlot()
|
|||
wCmd = "bphws " + ToPtrString(wVA);
|
||||
}
|
||||
|
||||
DbgCmdExec(wCmd.toUtf8().constData());
|
||||
DbgCmdExec(wCmd);
|
||||
}
|
||||
|
||||
|
||||
|
@ -199,17 +199,17 @@ void BreakpointMenu::setHwBpAt(duint va, int slot)
|
|||
if(wSlotIndex < 0) // Slot not used
|
||||
{
|
||||
wCmd = "bphws " + ToPtrString(va);
|
||||
DbgCmdExec(wCmd.toUtf8().constData());
|
||||
DbgCmdExec(wCmd);
|
||||
}
|
||||
else // Slot used
|
||||
{
|
||||
wCmd = "bphwc " + ToPtrString((duint)(wBPList.bp[wSlotIndex].addr));
|
||||
DbgCmdExec(wCmd.toUtf8().constData());
|
||||
DbgCmdExec(wCmd);
|
||||
|
||||
Sleep(200);
|
||||
|
||||
wCmd = "bphws " + ToPtrString(va);
|
||||
DbgCmdExec(wCmd.toUtf8().constData());
|
||||
DbgCmdExec(wCmd);
|
||||
}
|
||||
if(wBPList.count)
|
||||
BridgeFree(wBPList.bp);
|
||||
|
|
|
@ -610,7 +610,7 @@ void BreakpointsView::editBreakpointSlot()
|
|||
return;
|
||||
auto exec = [](const QString & command)
|
||||
{
|
||||
DbgCmdExecDirect(command.toUtf8().constData());
|
||||
DbgCmdExecDirect(command);
|
||||
};
|
||||
const BRIDGEBP & newBp = dialog.getBp();
|
||||
switch(bp.type)
|
||||
|
|
|
@ -180,7 +180,7 @@ void CPUArgumentWidget::followDisasmSlot()
|
|||
QAction* action = qobject_cast<QAction*>(sender());
|
||||
if(!action)
|
||||
return;
|
||||
DbgCmdExec(QString("disasm \"%1\"").arg(action->objectName()).toUtf8().constData());
|
||||
DbgCmdExec(QString("disasm \"%1\"").arg(action->objectName()));
|
||||
}
|
||||
|
||||
void CPUArgumentWidget::followDumpSlot()
|
||||
|
@ -188,7 +188,7 @@ void CPUArgumentWidget::followDumpSlot()
|
|||
QAction* action = qobject_cast<QAction*>(sender());
|
||||
if(!action)
|
||||
return;
|
||||
DbgCmdExec(QString("dump \"%1\"").arg(action->objectName()).toUtf8().constData());
|
||||
DbgCmdExec(QString("dump \"%1\"").arg(action->objectName()));
|
||||
}
|
||||
|
||||
void CPUArgumentWidget::followStackSlot()
|
||||
|
@ -196,7 +196,7 @@ void CPUArgumentWidget::followStackSlot()
|
|||
QAction* action = qobject_cast<QAction*>(sender());
|
||||
if(!action)
|
||||
return;
|
||||
DbgCmdExec(QString("sdump \"%1\"").arg(action->objectName()).toUtf8().constData());
|
||||
DbgCmdExec(QString("sdump \"%1\"").arg(action->objectName()));
|
||||
}
|
||||
|
||||
void CPUArgumentWidget::loadConfig()
|
||||
|
|
|
@ -702,7 +702,7 @@ void CPUDisassembly::setNewOriginHereActionSlot()
|
|||
return;
|
||||
}
|
||||
QString wCmd = "cip=" + ToPtrString(wVA);
|
||||
DbgCmdExec(wCmd.toUtf8().constData());
|
||||
DbgCmdExec(wCmd);
|
||||
}
|
||||
|
||||
void CPUDisassembly::setLabelSlot()
|
||||
|
@ -855,7 +855,7 @@ void CPUDisassembly::toggleFunctionSlot()
|
|||
if(!DbgFunctionOverlaps(start, end))
|
||||
{
|
||||
QString cmd = QString("functionadd ") + ToPtrString(start) + "," + ToPtrString(end);
|
||||
DbgCmdExec(cmd.toUtf8().constData());
|
||||
DbgCmdExec(cmd);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -865,7 +865,7 @@ void CPUDisassembly::toggleFunctionSlot()
|
|||
break;
|
||||
}
|
||||
QString cmd = QString("functiondel ") + ToPtrString(function_start);
|
||||
DbgCmdExec(cmd.toUtf8().constData());
|
||||
DbgCmdExec(cmd);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -883,7 +883,7 @@ void CPUDisassembly::toggleArgumentSlot()
|
|||
QString end_text = ToPtrString(end);
|
||||
|
||||
QString cmd = "argumentadd " + start_text + "," + end_text;
|
||||
DbgCmdExec(cmd.toUtf8().constData());
|
||||
DbgCmdExec(cmd);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -895,7 +895,7 @@ void CPUDisassembly::toggleArgumentSlot()
|
|||
QString start_text = ToPtrString(argument_start);
|
||||
|
||||
QString cmd = "argumentdel " + start_text;
|
||||
DbgCmdExec(cmd.toUtf8().constData());
|
||||
DbgCmdExec(cmd);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1121,12 +1121,12 @@ void CPUDisassembly::followActionSlot()
|
|||
if(!action)
|
||||
return;
|
||||
if(action->objectName().startsWith("DUMP|"))
|
||||
DbgCmdExec(QString().sprintf("dump \"%s\"", action->objectName().mid(5).toUtf8().constData()).toUtf8().constData());
|
||||
DbgCmdExec(QString().sprintf("dump \"%s\"", action->objectName().mid(5).toUtf8().constData()));
|
||||
else if(action->objectName().startsWith("REF|"))
|
||||
{
|
||||
QString addrText = ToPtrString(rvaToVa(getInitialSelection()));
|
||||
QString value = action->objectName().mid(4);
|
||||
DbgCmdExec(QString("findref \"" + value + "\", " + addrText).toUtf8().constData());
|
||||
DbgCmdExec(QString("findref \"" + value + "\", " + addrText));
|
||||
emit displayReferencesWidget();
|
||||
}
|
||||
else if(action->objectName().startsWith("CPU|"))
|
||||
|
@ -1151,7 +1151,7 @@ void CPUDisassembly::findReferencesSlot()
|
|||
QString addrStart = ToPtrString(rvaToVa(getSelectionStart()));
|
||||
QString addrEnd = ToPtrString(rvaToVa(getSelectionEnd()));
|
||||
QString addrDisasm = ToPtrString(rvaToVa(getInitialSelection()));
|
||||
DbgCmdExec(QString("findrefrange " + addrStart + ", " + addrEnd + ", " + addrDisasm).toUtf8().constData());
|
||||
DbgCmdExec(QString("findrefrange " + addrStart + ", " + addrEnd + ", " + addrDisasm));
|
||||
emit displayReferencesWidget();
|
||||
}
|
||||
|
||||
|
@ -1175,12 +1175,12 @@ void CPUDisassembly::findConstantSlot()
|
|||
auto addrText = ToHexString(rvaToVa(getInitialSelection()));
|
||||
auto constText = ToHexString(wordEdit.getVal());
|
||||
if(refFindType != -1)
|
||||
DbgCmdExec(QString("findref %1, %2, 0, %3").arg(constText).arg(addrText).arg(refFindType).toUtf8().constData());
|
||||
DbgCmdExec(QString("findref %1, %2, 0, %3").arg(constText).arg(addrText).arg(refFindType));
|
||||
else
|
||||
{
|
||||
duint start, end;
|
||||
if(DbgFunctionGet(rvaToVa(getInitialSelection()), &start, &end))
|
||||
DbgCmdExec(QString("findref %1, %2, %3, 0").arg(constText).arg(ToPtrString(start)).arg(ToPtrString(end - start)).toUtf8().constData());
|
||||
DbgCmdExec(QString("findref %1, %2, %3, 0").arg(constText).arg(ToPtrString(start)).arg(ToPtrString(end - start)));
|
||||
}
|
||||
emit displayReferencesWidget();
|
||||
}
|
||||
|
@ -1198,12 +1198,12 @@ void CPUDisassembly::findStringsSlot()
|
|||
{
|
||||
duint start, end;
|
||||
if(DbgFunctionGet(rvaToVa(getInitialSelection()), &start, &end))
|
||||
DbgCmdExec(QString("strref %1, %2, 0").arg(ToPtrString(start)).arg(ToPtrString(end - start)).toUtf8().constData());
|
||||
DbgCmdExec(QString("strref %1, %2, 0").arg(ToPtrString(start)).arg(ToPtrString(end - start)));
|
||||
return;
|
||||
}
|
||||
|
||||
auto addrText = ToHexString(rvaToVa(getInitialSelection()));
|
||||
DbgCmdExec(QString("strref %1, 0, %2").arg(addrText).arg(refFindType).toUtf8().constData());
|
||||
DbgCmdExec(QString("strref %1, 0, %2").arg(addrText).arg(refFindType));
|
||||
emit displayReferencesWidget();
|
||||
}
|
||||
|
||||
|
@ -1222,12 +1222,12 @@ void CPUDisassembly::findCallsSlot()
|
|||
|
||||
auto addrText = ToHexString(rvaToVa(getInitialSelection()));
|
||||
if(refFindType != -1)
|
||||
DbgCmdExec(QString("modcallfind %1, 0, %2").arg(addrText).arg(refFindType).toUtf8().constData());
|
||||
DbgCmdExec(QString("modcallfind %1, 0, %2").arg(addrText).arg(refFindType));
|
||||
else
|
||||
{
|
||||
duint start, end;
|
||||
if(DbgFunctionGet(rvaToVa(getInitialSelection()), &start, &end))
|
||||
DbgCmdExec(QString("modcallfind %1, %2, 0").arg(ToPtrString(start)).arg(ToPtrString(end - start)).toUtf8().constData());
|
||||
DbgCmdExec(QString("modcallfind %1, %2, 0").arg(ToPtrString(start)).arg(ToPtrString(end - start)));
|
||||
}
|
||||
emit displayReferencesWidget();
|
||||
}
|
||||
|
@ -1266,7 +1266,7 @@ void CPUDisassembly::findPatternSlot()
|
|||
if(!command.length())
|
||||
command = QString("findall %1, %2").arg(ToHexString(addr), hexEdit.mHexEdit->pattern());
|
||||
|
||||
DbgCmdExec(command.toUtf8().constData());
|
||||
DbgCmdExec(command);
|
||||
emit displayReferencesWidget();
|
||||
}
|
||||
|
||||
|
@ -1284,12 +1284,12 @@ void CPUDisassembly::findGUIDSlot()
|
|||
|
||||
auto addrText = ToHexString(rvaToVa(getInitialSelection()));
|
||||
if(refFindType == -1)
|
||||
DbgCmdExec(QString("findguid %1, 0, %2").arg(addrText).arg(refFindType).toUtf8().constData());
|
||||
DbgCmdExec(QString("findguid %1, 0, %2").arg(addrText).arg(refFindType));
|
||||
else
|
||||
{
|
||||
duint start, end;
|
||||
if(DbgFunctionGet(rvaToVa(getInitialSelection()), &start, &end))
|
||||
DbgCmdExec(QString("findguid %1, %2, 0").arg(ToPtrString(start)).arg(ToPtrString(end - start)).toUtf8().constData());
|
||||
DbgCmdExec(QString("findguid %1, %2, 0").arg(ToPtrString(start)).arg(ToPtrString(end - start)));
|
||||
}
|
||||
emit displayReferencesWidget();
|
||||
}
|
||||
|
@ -1760,12 +1760,12 @@ void CPUDisassembly::findCommandSlot()
|
|||
|
||||
dsint size = mMemPage->getSize();
|
||||
if(refFindType != -1)
|
||||
DbgCmdExec(QString("findasm \"%1\", %2, .%3, %4").arg(mLineEdit.editText).arg(addr_text).arg(size).arg(refFindType).toUtf8().constData());
|
||||
DbgCmdExec(QString("findasm \"%1\", %2, .%3, %4").arg(mLineEdit.editText).arg(addr_text).arg(size).arg(refFindType));
|
||||
else
|
||||
{
|
||||
duint start, end;
|
||||
if(DbgFunctionGet(va, &start, &end))
|
||||
DbgCmdExec(QString("findasm \"%1\", %2, .%3, 0").arg(mLineEdit.editText).arg(ToPtrString(start)).arg(ToPtrString(end - start)).toUtf8().constData());
|
||||
DbgCmdExec(QString("findasm \"%1\", %2, .%3, 0").arg(mLineEdit.editText).arg(ToPtrString(start)).arg(ToPtrString(end - start)));
|
||||
}
|
||||
|
||||
emit displayReferencesWidget();
|
||||
|
@ -1932,13 +1932,13 @@ void CPUDisassembly::mnemonicHelpSlot()
|
|||
DbgMemRead(addr, data, sizeof(data));
|
||||
Zydis zydis;
|
||||
zydis.Disassemble(addr, data);
|
||||
DbgCmdExecDirect(QString("mnemonichelp %1").arg(zydis.Mnemonic().c_str()).toUtf8().constData());
|
||||
DbgCmdExecDirect(QString("mnemonichelp %1").arg(zydis.Mnemonic().c_str()));
|
||||
emit displayLogWidget();
|
||||
}
|
||||
|
||||
void CPUDisassembly::analyzeSingleFunctionSlot()
|
||||
{
|
||||
DbgCmdExec(QString("analr %1").arg(ToHexString(rvaToVa(getInitialSelection()))).toUtf8().constData());
|
||||
DbgCmdExec(QString("analr %1").arg(ToHexString(rvaToVa(getInitialSelection()))));
|
||||
}
|
||||
|
||||
void CPUDisassembly::removeAnalysisSelectionSlot()
|
||||
|
@ -2014,7 +2014,7 @@ void CPUDisassembly::createThreadSlot()
|
|||
argWindow.setup(tr("Argument for the new thread"), 0, sizeof(duint));
|
||||
if(argWindow.exec() != QDialog::Accepted)
|
||||
return;
|
||||
DbgCmdExec(QString("createthread %1, %2").arg(ToPtrString(addr)).arg(ToPtrString(argWindow.getVal())).toUtf8().constData());
|
||||
DbgCmdExec(QString("createthread %1, %2").arg(ToPtrString(addr)).arg(ToPtrString(argWindow.getVal())));
|
||||
}
|
||||
|
||||
void CPUDisassembly::copyTokenTextSlot()
|
||||
|
@ -2042,14 +2042,14 @@ bool CPUDisassembly::getTokenValueText(QString & text)
|
|||
|
||||
void CPUDisassembly::followInMemoryMapSlot()
|
||||
{
|
||||
DbgCmdExec(QString("memmapdump %1").arg(ToHexString(rvaToVa(getInitialSelection()))).toUtf8().constData());
|
||||
DbgCmdExec(QString("memmapdump %1").arg(ToHexString(rvaToVa(getInitialSelection()))));
|
||||
}
|
||||
|
||||
void CPUDisassembly::downloadCurrentSymbolsSlot()
|
||||
{
|
||||
char module[MAX_MODULE_SIZE] = "";
|
||||
if(DbgGetModuleAt(rvaToVa(getInitialSelection()), module))
|
||||
DbgCmdExec(QString("symdownload \"%0\"").arg(module).toUtf8().constData());
|
||||
DbgCmdExec(QString("symdownload \"%0\"").arg(module));
|
||||
}
|
||||
|
||||
void CPUDisassembly::ActionTraceRecordToggleRunTraceSlot()
|
||||
|
@ -2076,7 +2076,7 @@ void CPUDisassembly::ActionTraceRecordToggleRunTraceSlot()
|
|||
if(browse.path.contains(QChar('"')) || browse.path.contains(QChar('\'')))
|
||||
SimpleErrorBox(this, tr("Error"), tr("File name contains invalid character."));
|
||||
else
|
||||
DbgCmdExec(QString("StartRunTrace \"%1\"").arg(browse.path).toUtf8().constData());
|
||||
DbgCmdExec(QString("StartRunTrace \"%1\"").arg(browse.path));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -579,7 +579,7 @@ void CPUDump::gotoExpressionSlot()
|
|||
if(mGoto->exec() == QDialog::Accepted)
|
||||
{
|
||||
duint value = DbgValFromString(mGoto->expressionText.toUtf8().constData());
|
||||
DbgCmdExec(QString().sprintf("dump %p", value).toUtf8().constData());
|
||||
DbgCmdExec(QString().sprintf("dump %p", value));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -606,19 +606,19 @@ void CPUDump::gotoFileOffsetSlot()
|
|||
return;
|
||||
duint value = DbgValFromString(mGotoOffset->expressionText.toUtf8().constData());
|
||||
value = DbgFunctions()->FileOffsetToVa(modname, value);
|
||||
DbgCmdExec(QString().sprintf("dump \"%p\"", value).toUtf8().constData());
|
||||
DbgCmdExec(QString().sprintf("dump \"%p\"", value));
|
||||
}
|
||||
|
||||
void CPUDump::gotoStartSlot()
|
||||
{
|
||||
duint dest = mMemPage->getBase();
|
||||
DbgCmdExec(QString().sprintf("dump \"%p\"", dest).toUtf8().constData());
|
||||
DbgCmdExec(QString().sprintf("dump \"%p\"", dest));
|
||||
}
|
||||
|
||||
void CPUDump::gotoEndSlot()
|
||||
{
|
||||
duint dest = mMemPage->getBase() + mMemPage->getSize() - (getViewableRowsCount() * getBytePerRowCount());
|
||||
DbgCmdExec(QString().sprintf("dump \"%p\"", dest).toUtf8().constData());
|
||||
DbgCmdExec(QString().sprintf("dump \"%p\"", dest));
|
||||
}
|
||||
|
||||
void CPUDump::gotoPreviousReferenceSlot()
|
||||
|
@ -1393,115 +1393,115 @@ void CPUDump::selectionSet(const SELECTIONDATA* selection)
|
|||
void CPUDump::memoryAccessSingleshootSlot()
|
||||
{
|
||||
QString addr_text = ToPtrString(rvaToVa(getSelectionStart()));
|
||||
DbgCmdExec(QString("bpm " + addr_text + ", 0, a").toUtf8().constData());
|
||||
DbgCmdExec(QString("bpm " + addr_text + ", 0, a"));
|
||||
}
|
||||
|
||||
void CPUDump::memoryAccessRestoreSlot()
|
||||
{
|
||||
QString addr_text = ToPtrString(rvaToVa(getSelectionStart()));
|
||||
DbgCmdExec(QString("bpm " + addr_text + ", 1, a").toUtf8().constData());
|
||||
DbgCmdExec(QString("bpm " + addr_text + ", 1, a"));
|
||||
}
|
||||
|
||||
void CPUDump::memoryReadSingleshootSlot()
|
||||
{
|
||||
QString addr_text = ToPtrString(rvaToVa(getSelectionStart()));
|
||||
DbgCmdExec(QString("bpm " + addr_text + ", 0, r").toUtf8().constData());
|
||||
DbgCmdExec(QString("bpm " + addr_text + ", 0, r"));
|
||||
}
|
||||
|
||||
void CPUDump::memoryReadRestoreSlot()
|
||||
{
|
||||
QString addr_text = ToPtrString(rvaToVa(getSelectionStart()));
|
||||
DbgCmdExec(QString("bpm " + addr_text + ", 1, r").toUtf8().constData());
|
||||
DbgCmdExec(QString("bpm " + addr_text + ", 1, r"));
|
||||
}
|
||||
|
||||
void CPUDump::memoryWriteSingleshootSlot()
|
||||
{
|
||||
QString addr_text = ToPtrString(rvaToVa(getSelectionStart()));
|
||||
DbgCmdExec(QString("bpm " + addr_text + ", 0, w").toUtf8().constData());
|
||||
DbgCmdExec(QString("bpm " + addr_text + ", 0, w"));
|
||||
}
|
||||
|
||||
void CPUDump::memoryWriteRestoreSlot()
|
||||
{
|
||||
QString addr_text = ToPtrString(rvaToVa(getSelectionStart()));
|
||||
DbgCmdExec(QString("bpm " + addr_text + ", 1, w").toUtf8().constData());
|
||||
DbgCmdExec(QString("bpm " + addr_text + ", 1, w"));
|
||||
}
|
||||
|
||||
void CPUDump::memoryExecuteSingleshootSlot()
|
||||
{
|
||||
QString addr_text = ToPtrString(rvaToVa(getSelectionStart()));
|
||||
DbgCmdExec(QString("bpm " + addr_text + ", 0, x").toUtf8().constData());
|
||||
DbgCmdExec(QString("bpm " + addr_text + ", 0, x"));
|
||||
}
|
||||
|
||||
void CPUDump::memoryExecuteRestoreSlot()
|
||||
{
|
||||
QString addr_text = ToPtrString(rvaToVa(getSelectionStart()));
|
||||
DbgCmdExec(QString("bpm " + addr_text + ", 1, x").toUtf8().constData());
|
||||
DbgCmdExec(QString("bpm " + addr_text + ", 1, x"));
|
||||
}
|
||||
|
||||
void CPUDump::memoryRemoveSlot()
|
||||
{
|
||||
QString addr_text = ToPtrString(rvaToVa(getSelectionStart()));
|
||||
DbgCmdExec(QString("bpmc " + addr_text).toUtf8().constData());
|
||||
DbgCmdExec(QString("bpmc " + addr_text));
|
||||
}
|
||||
|
||||
void CPUDump::hardwareAccess1Slot()
|
||||
{
|
||||
QString addr_text = ToPtrString(rvaToVa(getSelectionStart()));
|
||||
DbgCmdExec(QString("bphws " + addr_text + ", r, 1").toUtf8().constData());
|
||||
DbgCmdExec(QString("bphws " + addr_text + ", r, 1"));
|
||||
}
|
||||
|
||||
void CPUDump::hardwareAccess2Slot()
|
||||
{
|
||||
QString addr_text = ToPtrString(rvaToVa(getSelectionStart()));
|
||||
DbgCmdExec(QString("bphws " + addr_text + ", r, 2").toUtf8().constData());
|
||||
DbgCmdExec(QString("bphws " + addr_text + ", r, 2"));
|
||||
}
|
||||
|
||||
void CPUDump::hardwareAccess4Slot()
|
||||
{
|
||||
QString addr_text = ToPtrString(rvaToVa(getSelectionStart()));
|
||||
DbgCmdExec(QString("bphws " + addr_text + ", r, 4").toUtf8().constData());
|
||||
DbgCmdExec(QString("bphws " + addr_text + ", r, 4"));
|
||||
}
|
||||
|
||||
void CPUDump::hardwareAccess8Slot()
|
||||
{
|
||||
QString addr_text = ToPtrString(rvaToVa(getSelectionStart()));
|
||||
DbgCmdExec(QString("bphws " + addr_text + ", r, 8").toUtf8().constData());
|
||||
DbgCmdExec(QString("bphws " + addr_text + ", r, 8"));
|
||||
}
|
||||
|
||||
void CPUDump::hardwareWrite1Slot()
|
||||
{
|
||||
QString addr_text = ToPtrString(rvaToVa(getSelectionStart()));
|
||||
DbgCmdExec(QString("bphws " + addr_text + ", w, 1").toUtf8().constData());
|
||||
DbgCmdExec(QString("bphws " + addr_text + ", w, 1"));
|
||||
}
|
||||
|
||||
void CPUDump::hardwareWrite2Slot()
|
||||
{
|
||||
QString addr_text = ToPtrString(rvaToVa(getSelectionStart()));
|
||||
DbgCmdExec(QString("bphws " + addr_text + ", w, 2").toUtf8().constData());
|
||||
DbgCmdExec(QString("bphws " + addr_text + ", w, 2"));
|
||||
}
|
||||
|
||||
void CPUDump::hardwareWrite4Slot()
|
||||
{
|
||||
QString addr_text = ToPtrString(rvaToVa(getSelectionStart()));
|
||||
DbgCmdExec(QString("bphws " + addr_text + ", w, 4").toUtf8().constData());
|
||||
DbgCmdExec(QString("bphws " + addr_text + ", w, 4"));
|
||||
}
|
||||
|
||||
void CPUDump::hardwareWrite8Slot()
|
||||
{
|
||||
QString addr_text = ToPtrString(rvaToVa(getSelectionStart()));
|
||||
DbgCmdExec(QString("bphws " + addr_text + ", w, 8").toUtf8().constData());
|
||||
DbgCmdExec(QString("bphws " + addr_text + ", w, 8"));
|
||||
}
|
||||
|
||||
void CPUDump::hardwareExecuteSlot()
|
||||
{
|
||||
QString addr_text = ToPtrString(rvaToVa(getSelectionStart()));
|
||||
DbgCmdExec(QString("bphws " + addr_text + ", x").toUtf8().constData());
|
||||
DbgCmdExec(QString("bphws " + addr_text + ", x"));
|
||||
}
|
||||
|
||||
void CPUDump::hardwareRemoveSlot()
|
||||
{
|
||||
QString addr_text = ToPtrString(rvaToVa(getSelectionStart()));
|
||||
DbgCmdExec(QString("bphwc " + addr_text).toUtf8().constData());
|
||||
DbgCmdExec(QString("bphwc " + addr_text));
|
||||
}
|
||||
|
||||
void CPUDump::findReferencesSlot()
|
||||
|
@ -1509,7 +1509,7 @@ void CPUDump::findReferencesSlot()
|
|||
QString addrStart = ToPtrString(rvaToVa(getSelectionStart()));
|
||||
QString addrEnd = ToPtrString(rvaToVa(getSelectionEnd()));
|
||||
QString addrDisasm = ToPtrString(mDisas->rvaToVa(mDisas->getSelectionStart()));
|
||||
DbgCmdExec(QString("findrefrange " + addrStart + ", " + addrEnd + ", " + addrDisasm).toUtf8().constData());
|
||||
DbgCmdExec(QString("findrefrange " + addrStart + ", " + addrEnd + ", " + addrDisasm));
|
||||
emit displayReferencesWidget();
|
||||
}
|
||||
|
||||
|
@ -1616,7 +1616,7 @@ void CPUDump::binarySaveToFileSlot()
|
|||
// Prepare command
|
||||
fileName = QDir::toNativeSeparators(fileName);
|
||||
QString cmd = QString("savedata \"%1\",%2,%3").arg(fileName, ToHexString(rvaToVa(selStart)), ToHexString(selSize));
|
||||
DbgCmdExec(cmd.toUtf8().constData());
|
||||
DbgCmdExec(cmd);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1633,7 +1633,7 @@ void CPUDump::findPattern()
|
|||
if(hexEdit.entireBlock())
|
||||
addr = DbgMemFindBaseAddr(addr, 0);
|
||||
QString addrText = ToPtrString(addr);
|
||||
DbgCmdExec(QString("findall " + addrText + ", " + hexEdit.mHexEdit->pattern() + ", &data&").toUtf8().constData());
|
||||
DbgCmdExec(QString("findall " + addrText + ", " + hexEdit.mHexEdit->pattern() + ", &data&"));
|
||||
emit displayReferencesWidget();
|
||||
}
|
||||
|
||||
|
@ -1662,22 +1662,22 @@ void CPUDump::undoSelectionSlot()
|
|||
|
||||
void CPUDump::followStackSlot()
|
||||
{
|
||||
DbgCmdExec(QString("sdump " + ToPtrString(rvaToVa(getSelectionStart()))).toUtf8().constData());
|
||||
DbgCmdExec(QString("sdump " + ToPtrString(rvaToVa(getSelectionStart()))));
|
||||
}
|
||||
|
||||
void CPUDump::followInDisasmSlot()
|
||||
{
|
||||
DbgCmdExec(QString("disasm " + ToPtrString(rvaToVa(getSelectionStart()))).toUtf8().constData());
|
||||
DbgCmdExec(QString("disasm " + ToPtrString(rvaToVa(getSelectionStart()))));
|
||||
}
|
||||
|
||||
void CPUDump::followDataSlot()
|
||||
{
|
||||
DbgCmdExec(QString("disasm \"[%1]\"").arg(ToPtrString(rvaToVa(getSelectionStart()))).toUtf8().constData());
|
||||
DbgCmdExec(QString("disasm \"[%1]\"").arg(ToPtrString(rvaToVa(getSelectionStart()))));
|
||||
}
|
||||
|
||||
void CPUDump::followDataDumpSlot()
|
||||
{
|
||||
DbgCmdExec(QString("dump \"[%1]\"").arg(ToPtrString(rvaToVa(getSelectionStart()))).toUtf8().constData());
|
||||
DbgCmdExec(QString("dump \"[%1]\"").arg(ToPtrString(rvaToVa(getSelectionStart()))));
|
||||
}
|
||||
|
||||
void CPUDump::selectionUpdatedSlot()
|
||||
|
@ -1708,12 +1708,12 @@ void CPUDump::followInDumpNSlot()
|
|||
{
|
||||
for(int i = 0; i < mFollowInDumpActions.length(); i++)
|
||||
if(mFollowInDumpActions[i] == sender())
|
||||
DbgCmdExec(QString("dump \"[%1]\", \"%2\"").arg(ToPtrString(rvaToVa(getSelectionStart()))).arg(i + 1).toUtf8().constData());
|
||||
DbgCmdExec(QString("dump \"[%1]\", \"%2\"").arg(ToPtrString(rvaToVa(getSelectionStart()))).arg(i + 1));
|
||||
}
|
||||
|
||||
void CPUDump::watchSlot()
|
||||
{
|
||||
DbgCmdExec(QString("AddWatch \"[%1]\", \"uint\"").arg(ToPtrString(rvaToVa(getSelectionStart()))).toUtf8().constData());
|
||||
DbgCmdExec(QString("AddWatch \"[%1]\", \"uint\"").arg(ToPtrString(rvaToVa(getSelectionStart()))));
|
||||
}
|
||||
|
||||
void CPUDump::allocMemorySlot()
|
||||
|
@ -1733,7 +1733,7 @@ void CPUDump::allocMemorySlot()
|
|||
SimpleErrorBox(this, tr("Error"), tr("The size of buffer you're trying to allocate exceeds 1GB. Please check your expression to ensure nothing is wrong."));
|
||||
return;
|
||||
}
|
||||
DbgCmdExecDirect(QString("alloc %1").arg(ToPtrString(memsize)).toUtf8().constData());
|
||||
DbgCmdExecDirect(QString("alloc %1").arg(ToPtrString(memsize)));
|
||||
duint addr = DbgValFromString("$result");
|
||||
if(addr != 0)
|
||||
{
|
||||
|
@ -1828,7 +1828,7 @@ void CPUDump::setView(ViewEnum_t view)
|
|||
|
||||
void CPUDump::followInMemoryMapSlot()
|
||||
{
|
||||
DbgCmdExec(QString("memmapdump %1").arg(ToHexString(rvaToVa(getSelectionStart()))).toUtf8().constData());
|
||||
DbgCmdExec(QString("memmapdump %1").arg(ToHexString(rvaToVa(getSelectionStart()))));
|
||||
}
|
||||
|
||||
void CPUDump::headerButtonReleasedSlot(int colIndex)
|
||||
|
|
|
@ -542,9 +542,9 @@ void CPUInfoBox::followActionSlot()
|
|||
{
|
||||
QAction* action = qobject_cast<QAction*>(sender());
|
||||
if(action && action->objectName().startsWith("DUMP|"))
|
||||
DbgCmdExec(QString("dump \"%1\"").arg(action->objectName().mid(5)).toUtf8().constData());
|
||||
DbgCmdExec(QString("dump \"%1\"").arg(action->objectName().mid(5)));
|
||||
else if(action && action->objectName().startsWith("WATCH|"))
|
||||
DbgCmdExec(QString("AddWatch \"[%1]\"").arg(action->objectName().mid(6)).toUtf8().constData());
|
||||
DbgCmdExec(QString("AddWatch \"[%1]\"").arg(action->objectName().mid(6)));
|
||||
}
|
||||
|
||||
void CPUInfoBox::modifySlot()
|
||||
|
@ -574,7 +574,7 @@ void CPUInfoBox::findXReferencesSlot()
|
|||
mXrefDlg = new XrefBrowseDialog(this);
|
||||
mXrefDlg->setup(curAddr, [](duint address)
|
||||
{
|
||||
DbgCmdExec(QString("disasm %1").arg(ToPtrString(address)).toUtf8().constData());
|
||||
DbgCmdExec(QString("disasm %1").arg(ToPtrString(address)));
|
||||
});
|
||||
mXrefDlg->showNormal();
|
||||
}
|
||||
|
@ -771,7 +771,7 @@ int CPUInfoBox::followInDump(dsint wVA)
|
|||
// Last line of infoBox => Current Address(EIP) in disassembly
|
||||
if(tableOffset == 2)
|
||||
{
|
||||
DbgCmdExec(QString("dump %1").arg(ToPtrString(wVA)).toUtf8().constData());
|
||||
DbgCmdExec(QString("dump %1").arg(ToPtrString(wVA)));
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -780,7 +780,7 @@ int CPUInfoBox::followInDump(dsint wVA)
|
|||
|
||||
if(instr.type == instr_branch && cellContent.contains("Jump"))
|
||||
{
|
||||
DbgCmdExec(QString("dump %1").arg(ToPtrString(instr.arg[0].value)).toUtf8().constData());
|
||||
DbgCmdExec(QString("dump %1").arg(ToPtrString(instr.arg[0].value)));
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -794,7 +794,7 @@ int CPUInfoBox::followInDump(dsint wVA)
|
|||
{
|
||||
if(cellContent.contains(arg.mnemonic))
|
||||
{
|
||||
DbgCmdExec(QString("dump %1").arg(ToPtrString(arg.value)).toUtf8().constData());
|
||||
DbgCmdExec(QString("dump %1").arg(ToPtrString(arg.value)));
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -722,7 +722,7 @@ void CPURegistersView::onFollowInDisassembly()
|
|||
{
|
||||
QString addr = QString("%1").arg((* ((duint*) registerValue(&wRegDumpStruct, mSelected))), mRegisterPlaces[mSelected].valuesize, 16, QChar('0')).toUpper();
|
||||
if(DbgMemIsValidReadPtr((* ((duint*) registerValue(&wRegDumpStruct, mSelected)))))
|
||||
DbgCmdExec(QString().sprintf("disasm \"%s\"", addr.toUtf8().constData()).toUtf8().constData());
|
||||
DbgCmdExec(QString().sprintf("disasm \"%s\"", addr.toUtf8().constData()));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -732,7 +732,7 @@ void CPURegistersView::onFollowInDump()
|
|||
{
|
||||
QString addr = QString("%1").arg((* ((duint*) registerValue(&wRegDumpStruct, mSelected))), mRegisterPlaces[mSelected].valuesize, 16, QChar('0')).toUpper();
|
||||
if(DbgMemIsValidReadPtr((* ((duint*) registerValue(&wRegDumpStruct, mSelected)))))
|
||||
DbgCmdExec(QString().sprintf("dump \"%s\"", addr.toUtf8().constData()).toUtf8().constData());
|
||||
DbgCmdExec(QString().sprintf("dump \"%s\"", addr.toUtf8().constData()));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -745,7 +745,7 @@ void CPURegistersView::onFollowInDumpN()
|
|||
{
|
||||
QAction* action = qobject_cast<QAction*>(sender());
|
||||
int numDump = action->data().toInt();
|
||||
DbgCmdExec(QString("dump %1, .%2").arg(addr).arg(numDump).toUtf8().constData());
|
||||
DbgCmdExec(QString("dump %1, .%2").arg(addr).arg(numDump));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -756,7 +756,7 @@ void CPURegistersView::onFollowInStack()
|
|||
{
|
||||
QString addr = QString("%1").arg((* ((duint*) registerValue(&wRegDumpStruct, mSelected))), mRegisterPlaces[mSelected].valuesize, 16, QChar('0')).toUpper();
|
||||
if(DbgMemIsValidReadPtr((* ((duint*) registerValue(&wRegDumpStruct, mSelected)))))
|
||||
DbgCmdExec(QString().sprintf("sdump \"%s\"", addr.toUtf8().constData()).toUtf8().constData());
|
||||
DbgCmdExec(QString().sprintf("sdump \"%s\"", addr.toUtf8().constData()));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -766,7 +766,7 @@ void CPURegistersView::onFollowInMemoryMap()
|
|||
{
|
||||
QString addr = QString("%1").arg((* ((duint*) registerValue(&wRegDumpStruct, mSelected))), mRegisterPlaces[mSelected].valuesize, 16, QChar('0')).toUpper();
|
||||
if(DbgMemIsValidReadPtr((* ((duint*) registerValue(&wRegDumpStruct, mSelected)))))
|
||||
DbgCmdExec(QString().sprintf("memmapdump \"%s\"", addr.toUtf8().constData()).toUtf8().constData());
|
||||
DbgCmdExec(QString().sprintf("memmapdump \"%s\"", addr.toUtf8().constData()));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -415,7 +415,7 @@ void CPUSideBar::mouseReleaseEvent(QMouseEvent* e)
|
|||
break;
|
||||
}
|
||||
wCmd += ToPtrString(wVA);
|
||||
DbgCmdExec(wCmd.toUtf8().constData());
|
||||
DbgCmdExec(wCmd);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -634,21 +634,21 @@ void CPUStack::gotoFrameBaseSlot()
|
|||
{
|
||||
int frame = getCurrentFrame(mCallstack, rvaToVa(getInitialSelection()));
|
||||
if(frame != -1)
|
||||
DbgCmdExec(QString("sdump \"%1\"").arg(ToPtrString(mCallstack[frame].addr)).toUtf8().constData());
|
||||
DbgCmdExec(QString("sdump \"%1\"").arg(ToPtrString(mCallstack[frame].addr)));
|
||||
}
|
||||
|
||||
void CPUStack::gotoNextFrameSlot()
|
||||
{
|
||||
int frame = getCurrentFrame(mCallstack, rvaToVa(getInitialSelection()));
|
||||
if(frame != -1 && frame + 1 < int(mCallstack.size()))
|
||||
DbgCmdExec(QString("sdump \"%1\"").arg(ToPtrString(mCallstack[frame + 1].addr)).toUtf8().constData());
|
||||
DbgCmdExec(QString("sdump \"%1\"").arg(ToPtrString(mCallstack[frame + 1].addr)));
|
||||
}
|
||||
|
||||
void CPUStack::gotoPreviousFrameSlot()
|
||||
{
|
||||
int frame = getCurrentFrame(mCallstack, rvaToVa(getInitialSelection()));
|
||||
if(frame > 0)
|
||||
DbgCmdExec(QString("sdump \"%1\"").arg(ToPtrString(mCallstack[frame - 1].addr)).toUtf8().constData());
|
||||
DbgCmdExec(QString("sdump \"%1\"").arg(ToPtrString(mCallstack[frame - 1].addr)));
|
||||
}
|
||||
|
||||
void CPUStack::gotoExpressionSlot()
|
||||
|
@ -666,7 +666,7 @@ void CPUStack::gotoExpressionSlot()
|
|||
if(mGoto->exec() == QDialog::Accepted)
|
||||
{
|
||||
duint value = DbgValFromString(mGoto->expressionText.toUtf8().constData());
|
||||
DbgCmdExec(QString().sprintf("sdump %p", value).toUtf8().constData());
|
||||
DbgCmdExec(QString().sprintf("sdump %p", value));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -725,7 +725,7 @@ void CPUStack::followDisasmSlot()
|
|||
if(DbgMemIsValidReadPtr(selectedData)) //data is a pointer
|
||||
{
|
||||
QString addrText = ToPtrString(selectedData);
|
||||
DbgCmdExec(QString("disasm " + addrText).toUtf8().constData());
|
||||
DbgCmdExec(QString("disasm " + addrText));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -736,7 +736,7 @@ void CPUStack::followDumpPtrSlot()
|
|||
if(DbgMemIsValidReadPtr(selectedData)) //data is a pointer
|
||||
{
|
||||
QString addrText = ToPtrString(selectedData);
|
||||
DbgCmdExec(QString("dump " + addrText).toUtf8().constData());
|
||||
DbgCmdExec(QString("dump " + addrText));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -751,7 +751,7 @@ void CPUStack::followinDumpNSlot()
|
|||
if(mFollowInDumpActions[i] == sender())
|
||||
{
|
||||
QString addrText = QString("%1").arg(ToPtrString(selectedData));
|
||||
DbgCmdExec(QString("dump [%1], %2").arg(addrText.toUtf8().constData()).arg(i + 1).toUtf8().constData());
|
||||
DbgCmdExec(QString("dump [%1], %2").arg(addrText.toUtf8().constData()).arg(i + 1));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -764,13 +764,13 @@ void CPUStack::followStackSlot()
|
|||
if(DbgMemIsValidReadPtr(selectedData)) //data is a pointer
|
||||
{
|
||||
QString addrText = ToPtrString(selectedData);
|
||||
DbgCmdExec(QString("sdump " + addrText).toUtf8().constData());
|
||||
DbgCmdExec(QString("sdump " + addrText));
|
||||
}
|
||||
}
|
||||
|
||||
void CPUStack::watchDataSlot()
|
||||
{
|
||||
DbgCmdExec(QString("AddWatch \"[%1]\", \"uint\"").arg(ToPtrString(rvaToVa(getSelectionStart()))).toUtf8().constData());
|
||||
DbgCmdExec(QString("AddWatch \"[%1]\", \"uint\"").arg(ToPtrString(rvaToVa(getSelectionStart()))));
|
||||
}
|
||||
|
||||
void CPUStack::binaryEditSlot()
|
||||
|
@ -864,85 +864,85 @@ void CPUStack::binaryPasteIgnoreSizeSlot()
|
|||
void CPUStack::hardwareAccess1Slot()
|
||||
{
|
||||
QString addr_text = ToPtrString(rvaToVa(getInitialSelection()));
|
||||
DbgCmdExec(QString("bphws " + addr_text + ", r, 1").toUtf8().constData());
|
||||
DbgCmdExec(QString("bphws " + addr_text + ", r, 1"));
|
||||
}
|
||||
|
||||
void CPUStack::hardwareAccess2Slot()
|
||||
{
|
||||
QString addr_text = ToPtrString(rvaToVa(getInitialSelection()));
|
||||
DbgCmdExec(QString("bphws " + addr_text + ", r, 2").toUtf8().constData());
|
||||
DbgCmdExec(QString("bphws " + addr_text + ", r, 2"));
|
||||
}
|
||||
|
||||
void CPUStack::hardwareAccess4Slot()
|
||||
{
|
||||
QString addr_text = ToPtrString(rvaToVa(getInitialSelection()));
|
||||
DbgCmdExec(QString("bphws " + addr_text + ", r, 4").toUtf8().constData());
|
||||
DbgCmdExec(QString("bphws " + addr_text + ", r, 4"));
|
||||
}
|
||||
|
||||
void CPUStack::hardwareAccess8Slot()
|
||||
{
|
||||
QString addr_text = ToPtrString(rvaToVa(getInitialSelection()));
|
||||
DbgCmdExec(QString("bphws " + addr_text + ", r, 8").toUtf8().constData());
|
||||
DbgCmdExec(QString("bphws " + addr_text + ", r, 8"));
|
||||
}
|
||||
|
||||
void CPUStack::hardwareWrite1Slot()
|
||||
{
|
||||
QString addr_text = ToPtrString(rvaToVa(getInitialSelection()));
|
||||
DbgCmdExec(QString("bphws " + addr_text + ", w, 1").toUtf8().constData());
|
||||
DbgCmdExec(QString("bphws " + addr_text + ", w, 1"));
|
||||
}
|
||||
|
||||
void CPUStack::hardwareWrite2Slot()
|
||||
{
|
||||
QString addr_text = ToPtrString(rvaToVa(getInitialSelection()));
|
||||
DbgCmdExec(QString("bphws " + addr_text + ", w, 2").toUtf8().constData());
|
||||
DbgCmdExec(QString("bphws " + addr_text + ", w, 2"));
|
||||
}
|
||||
|
||||
void CPUStack::hardwareWrite4Slot()
|
||||
{
|
||||
QString addr_text = ToPtrString(rvaToVa(getInitialSelection()));
|
||||
DbgCmdExec(QString("bphws " + addr_text + ", w, 4").toUtf8().constData());
|
||||
DbgCmdExec(QString("bphws " + addr_text + ", w, 4"));
|
||||
}
|
||||
|
||||
void CPUStack::hardwareWrite8Slot()
|
||||
{
|
||||
QString addr_text = ToPtrString(rvaToVa(getInitialSelection()));
|
||||
DbgCmdExec(QString("bphws " + addr_text + ", w, 8").toUtf8().constData());
|
||||
DbgCmdExec(QString("bphws " + addr_text + ", w, 8"));
|
||||
}
|
||||
|
||||
void CPUStack::hardwareRemoveSlot()
|
||||
{
|
||||
QString addr_text = ToPtrString(rvaToVa(getInitialSelection()));
|
||||
DbgCmdExec(QString("bphwc " + addr_text).toUtf8().constData());
|
||||
DbgCmdExec(QString("bphwc " + addr_text));
|
||||
}
|
||||
|
||||
void CPUStack::memoryAccessSingleshootSlot()
|
||||
{
|
||||
QString addr_text = ToPtrString(rvaToVa(getInitialSelection()));
|
||||
DbgCmdExec(QString("bpm " + addr_text + ", 0, a").toUtf8().constData());
|
||||
DbgCmdExec(QString("bpm " + addr_text + ", 0, a"));
|
||||
}
|
||||
|
||||
void CPUStack::memoryAccessRestoreSlot()
|
||||
{
|
||||
QString addr_text = ToPtrString(rvaToVa(getInitialSelection()));
|
||||
DbgCmdExec(QString("bpm " + addr_text + ", 1, a").toUtf8().constData());
|
||||
DbgCmdExec(QString("bpm " + addr_text + ", 1, a"));
|
||||
}
|
||||
|
||||
void CPUStack::memoryWriteSingleshootSlot()
|
||||
{
|
||||
QString addr_text = ToPtrString(rvaToVa(getInitialSelection()));
|
||||
DbgCmdExec(QString("bpm " + addr_text + ", 0, w").toUtf8().constData());
|
||||
DbgCmdExec(QString("bpm " + addr_text + ", 0, w"));
|
||||
}
|
||||
|
||||
void CPUStack::memoryWriteRestoreSlot()
|
||||
{
|
||||
QString addr_text = ToPtrString(rvaToVa(getInitialSelection()));
|
||||
DbgCmdExec(QString("bpm " + addr_text + ", 1, w").toUtf8().constData());
|
||||
DbgCmdExec(QString("bpm " + addr_text + ", 1, w"));
|
||||
}
|
||||
|
||||
void CPUStack::memoryRemoveSlot()
|
||||
{
|
||||
QString addr_text = ToPtrString(rvaToVa(getInitialSelection()));
|
||||
DbgCmdExec(QString("bpmc " + addr_text).toUtf8().constData());
|
||||
DbgCmdExec(QString("bpmc " + addr_text));
|
||||
}
|
||||
|
||||
void CPUStack::findPattern()
|
||||
|
@ -958,7 +958,7 @@ void CPUStack::findPattern()
|
|||
if(hexEdit.entireBlock())
|
||||
addr = DbgMemFindBaseAddr(addr, 0);
|
||||
QString addrText = ToPtrString(addr);
|
||||
DbgCmdExec(QString("findall " + addrText + ", " + hexEdit.mHexEdit->pattern() + ", &data&").toUtf8().constData());
|
||||
DbgCmdExec(QString("findall " + addrText + ", " + hexEdit.mHexEdit->pattern() + ", &data&"));
|
||||
emit displayReferencesWidget();
|
||||
}
|
||||
|
||||
|
@ -1021,9 +1021,9 @@ void CPUStack::realignSlot()
|
|||
void CPUStack::freezeStackSlot()
|
||||
{
|
||||
if(bStackFrozen)
|
||||
DbgCmdExec(QString("setfreezestack 0").toUtf8().constData());
|
||||
DbgCmdExec(QString("setfreezestack 0"));
|
||||
else
|
||||
DbgCmdExec(QString("setfreezestack 1").toUtf8().constData());
|
||||
DbgCmdExec(QString("setfreezestack 1"));
|
||||
|
||||
bStackFrozen = !bStackFrozen;
|
||||
|
||||
|
@ -1043,10 +1043,10 @@ void CPUStack::dbgStateChangedSlot(DBGSTATE state)
|
|||
|
||||
void CPUStack::followInMemoryMapSlot()
|
||||
{
|
||||
DbgCmdExec(QString("memmapdump [%1]").arg(ToHexString(rvaToVa(getInitialSelection()))).toUtf8().constData());
|
||||
DbgCmdExec(QString("memmapdump [%1]").arg(ToHexString(rvaToVa(getInitialSelection()))));
|
||||
}
|
||||
|
||||
void CPUStack::followInDumpSlot()
|
||||
{
|
||||
DbgCmdExec(QString("dump %1").arg(ToHexString(rvaToVa(getInitialSelection()))).toUtf8().constData());
|
||||
DbgCmdExec(QString("dump %1").arg(ToHexString(rvaToVa(getInitialSelection()))));
|
||||
}
|
||||
|
|
|
@ -153,7 +153,7 @@ QString CalculatorDialog::inFormat(const duint val, CalculatorDialog::NUMBERFORM
|
|||
|
||||
void CalculatorDialog::on_btnGoto_clicked()
|
||||
{
|
||||
DbgCmdExecDirect(QString("disasm " + ui->txtExpression->text()).toUtf8().constData());
|
||||
DbgCmdExecDirect(QString("disasm " + ui->txtExpression->text()));
|
||||
}
|
||||
|
||||
void CalculatorDialog::on_txtHex_textEdited(const QString & arg1)
|
||||
|
@ -253,5 +253,5 @@ void CalculatorDialog::on_txtUnicode_clicked()
|
|||
|
||||
void CalculatorDialog::on_btnGotoDump_clicked()
|
||||
{
|
||||
DbgCmdExecDirect(QString("dump " + ui->txtExpression->text()).toUtf8().constData());
|
||||
DbgCmdExecDirect(QString("dump " + ui->txtExpression->text()));
|
||||
}
|
||||
|
|
|
@ -111,19 +111,19 @@ void CallStackView::contextMenuSlot(const QPoint pos)
|
|||
void CallStackView::followAddress()
|
||||
{
|
||||
QString addrText = getCellContent(getInitialSelection(), 0);
|
||||
DbgCmdExecDirect(QString("sdump " + addrText).toUtf8().constData());
|
||||
DbgCmdExecDirect(QString("sdump " + addrText));
|
||||
}
|
||||
|
||||
void CallStackView::followTo()
|
||||
{
|
||||
QString addrText = getCellContent(getInitialSelection(), 1);
|
||||
DbgCmdExecDirect(QString("disasm " + addrText).toUtf8().constData());
|
||||
DbgCmdExecDirect(QString("disasm " + addrText));
|
||||
}
|
||||
|
||||
void CallStackView::followFrom()
|
||||
{
|
||||
QString addrText = getCellContent(getInitialSelection(), 2);
|
||||
DbgCmdExecDirect(QString("disasm " + addrText).toUtf8().constData());
|
||||
DbgCmdExecDirect(QString("disasm " + addrText));
|
||||
}
|
||||
|
||||
void CallStackView::showSuspectedCallStack()
|
||||
|
|
|
@ -1178,7 +1178,7 @@ void DisassemblerGraphView::mouseDoubleClickEvent(QMouseEvent* event)
|
|||
if(!mHistoryLock)
|
||||
mHistory.addVaToHistory(instr);
|
||||
|
||||
DbgCmdExec(QString("graph dis.branchdest(%1), silent").arg(ToPtrString(instr)).toUtf8().constData());
|
||||
DbgCmdExec(QString("graph dis.branchdest(%1), silent").arg(ToPtrString(instr)));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2347,25 +2347,25 @@ void DisassemblerGraphView::keyPressEvent(QKeyEvent* event)
|
|||
return;
|
||||
int key = event->key();
|
||||
if(key == Qt::Key_Up)
|
||||
DbgCmdExec(QString("graph dis.prev(%1), silent").arg(ToPtrString(cur_instr)).toUtf8().constData());
|
||||
DbgCmdExec(QString("graph dis.prev(%1), silent").arg(ToPtrString(cur_instr)));
|
||||
else if(key == Qt::Key_Down)
|
||||
DbgCmdExec(QString("graph dis.next(%1), silent").arg(ToPtrString(cur_instr)).toUtf8().constData());
|
||||
DbgCmdExec(QString("graph dis.next(%1), silent").arg(ToPtrString(cur_instr)));
|
||||
else if(key == Qt::Key_Left)
|
||||
DbgCmdExec(QString("graph dis.brtrue(%1), silent").arg(ToPtrString(cur_instr)).toUtf8().constData());
|
||||
DbgCmdExec(QString("graph dis.brtrue(%1), silent").arg(ToPtrString(cur_instr)));
|
||||
else if(key == Qt::Key_Right)
|
||||
DbgCmdExec(QString("graph dis.brfalse(%1), silent").arg(ToPtrString(cur_instr)).toUtf8().constData());
|
||||
DbgCmdExec(QString("graph dis.brfalse(%1), silent").arg(ToPtrString(cur_instr)));
|
||||
else if(key == Qt::Key_Return || key == Qt::Key_Enter)
|
||||
{
|
||||
//Add address to history
|
||||
if(!mHistoryLock)
|
||||
mHistory.addVaToHistory(cur_instr);
|
||||
DbgCmdExec(QString("graph dis.branchdest(%1), silent").arg(ToPtrString(cur_instr)).toUtf8().constData());
|
||||
DbgCmdExec(QString("graph dis.branchdest(%1), silent").arg(ToPtrString(cur_instr)));
|
||||
}
|
||||
}
|
||||
|
||||
void DisassemblerGraphView::followDisassemblerSlot()
|
||||
{
|
||||
DbgCmdExec(QString("disasm %1").arg(ToPtrString(this->cur_instr)).toUtf8().constData());
|
||||
DbgCmdExec(QString("disasm %1").arg(ToPtrString(this->cur_instr)));
|
||||
}
|
||||
|
||||
void DisassemblerGraphView::colorsUpdatedSlot()
|
||||
|
@ -2465,7 +2465,7 @@ void DisassemblerGraphView::gotoExpressionSlot()
|
|||
if(mGoto->exec() == QDialog::Accepted)
|
||||
{
|
||||
duint value = DbgValFromString(mGoto->expressionText.toUtf8().constData());
|
||||
DbgCmdExec(QString().sprintf("graph %p, silent", value).toUtf8().constData());
|
||||
DbgCmdExec(QString().sprintf("graph %p, silent", value));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2479,7 +2479,7 @@ void DisassemblerGraphView::gotoPreviousSlot()
|
|||
if(mHistory.historyHasPrev())
|
||||
{
|
||||
mHistoryLock = true;
|
||||
DbgCmdExecDirect(QString("graph %1, silent").arg(ToPtrString(mHistory.historyPrev())).toUtf8().constData());
|
||||
DbgCmdExecDirect(QString("graph %1, silent").arg(ToPtrString(mHistory.historyPrev())));
|
||||
mHistoryLock = false;
|
||||
}
|
||||
}
|
||||
|
@ -2489,7 +2489,7 @@ void DisassemblerGraphView::gotoNextSlot()
|
|||
if(mHistory.historyHasNext())
|
||||
{
|
||||
mHistoryLock = true;
|
||||
DbgCmdExecDirect(QString("graph %1, silent").arg(ToPtrString(mHistory.historyNext())).toUtf8().constData());
|
||||
DbgCmdExecDirect(QString("graph %1, silent").arg(ToPtrString(mHistory.historyNext())));
|
||||
mHistoryLock = false;
|
||||
}
|
||||
}
|
||||
|
@ -2505,7 +2505,7 @@ void DisassemblerGraphView::toggleSyncOriginSlot()
|
|||
|
||||
void DisassemblerGraphView::refreshSlot()
|
||||
{
|
||||
DbgCmdExec(QString("graph %1, force").arg(ToPtrString(this->cur_instr)).toUtf8().constData());
|
||||
DbgCmdExec(QString("graph %1, force").arg(ToPtrString(this->cur_instr)));
|
||||
}
|
||||
|
||||
void DisassemblerGraphView::saveImageSlot()
|
||||
|
@ -2621,7 +2621,7 @@ void DisassemblerGraphView::xrefSlot()
|
|||
mXrefDlg = new XrefBrowseDialog(this);
|
||||
mXrefDlg->setup(wVA, [](duint addr)
|
||||
{
|
||||
DbgCmdExec(QString("graph %1").arg(ToPtrString(addr)).toUtf8().constData());
|
||||
DbgCmdExec(QString("graph %1").arg(ToPtrString(addr)));
|
||||
});
|
||||
mXrefDlg->showNormal();
|
||||
}
|
||||
|
@ -2632,7 +2632,7 @@ void DisassemblerGraphView::followActionSlot()
|
|||
if(action)
|
||||
{
|
||||
QString data = action->data().toString();
|
||||
DbgCmdExecDirect(QString("graph %1, silent").arg(data).toUtf8().constData());
|
||||
DbgCmdExecDirect(QString("graph %1, silent").arg(data));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2643,7 +2643,7 @@ void DisassemblerGraphView::mnemonicHelpSlot()
|
|||
DbgMemRead(addr, data, sizeof(data));
|
||||
Zydis zydis;
|
||||
zydis.Disassemble(addr, data);
|
||||
DbgCmdExecDirect(QString("mnemonichelp %1").arg(zydis.Mnemonic().c_str()).toUtf8().constData());
|
||||
DbgCmdExecDirect(QString("mnemonichelp %1").arg(zydis.Mnemonic().c_str()));
|
||||
emit displayLogWidget();
|
||||
}
|
||||
|
||||
|
|
|
@ -286,13 +286,13 @@ void HandlesView::privilegesTableContextMenuSlot(const QPoint & pos)
|
|||
|
||||
void HandlesView::closeHandleSlot()
|
||||
{
|
||||
DbgCmdExecDirect(QString("handleclose %1").arg(mHandlesTable->mCurList->getCellContent(mHandlesTable->mCurList->getInitialSelection(), 2)).toUtf8().constData());
|
||||
DbgCmdExecDirect(QString("handleclose %1").arg(mHandlesTable->mCurList->getCellContent(mHandlesTable->mCurList->getInitialSelection(), 2)));
|
||||
enumHandles();
|
||||
}
|
||||
|
||||
void HandlesView::enablePrivilegeSlot()
|
||||
{
|
||||
DbgCmdExecDirect(QString("EnablePrivilege \"%1\"").arg(mPrivilegesTable->getCellContent(mPrivilegesTable->getInitialSelection(), 0)).toUtf8().constData());
|
||||
DbgCmdExecDirect(QString("EnablePrivilege \"%1\"").arg(mPrivilegesTable->getCellContent(mPrivilegesTable->getInitialSelection(), 0)));
|
||||
enumPrivileges();
|
||||
}
|
||||
|
||||
|
@ -300,7 +300,7 @@ void HandlesView::disablePrivilegeSlot()
|
|||
{
|
||||
if(!DbgIsDebugging())
|
||||
return;
|
||||
DbgCmdExecDirect(QString("DisablePrivilege \"%1\"").arg(mPrivilegesTable->getCellContent(mPrivilegesTable->getInitialSelection(), 0)).toUtf8().constData());
|
||||
DbgCmdExecDirect(QString("DisablePrivilege \"%1\"").arg(mPrivilegesTable->getCellContent(mPrivilegesTable->getInitialSelection(), 0)));
|
||||
enumPrivileges();
|
||||
}
|
||||
|
||||
|
@ -310,7 +310,7 @@ void HandlesView::enableAllPrivilegesSlot()
|
|||
return;
|
||||
for(int i = 0; i < mPrivilegesTable->getRowCount(); i++)
|
||||
if(mPrivilegesTable->getCellContent(i, 1) != tr("Unknown"))
|
||||
DbgCmdExecDirect(QString("EnablePrivilege \"%1\"").arg(mPrivilegesTable->getCellContent(i, 0)).toUtf8().constData());
|
||||
DbgCmdExecDirect(QString("EnablePrivilege \"%1\"").arg(mPrivilegesTable->getCellContent(i, 0)));
|
||||
enumPrivileges();
|
||||
}
|
||||
|
||||
|
@ -320,25 +320,25 @@ void HandlesView::disableAllPrivilegesSlot()
|
|||
return;
|
||||
for(int i = 0; i < mPrivilegesTable->getRowCount(); i++)
|
||||
if(mPrivilegesTable->getCellContent(i, 1) != tr("Unknown"))
|
||||
DbgCmdExecDirect(QString("DisablePrivilege \"%1\"").arg(mPrivilegesTable->getCellContent(i, 0)).toUtf8().constData());
|
||||
DbgCmdExecDirect(QString("DisablePrivilege \"%1\"").arg(mPrivilegesTable->getCellContent(i, 0)));
|
||||
enumPrivileges();
|
||||
}
|
||||
|
||||
void HandlesView::enableWindowSlot()
|
||||
{
|
||||
DbgCmdExecDirect(QString("EnableWindow %1").arg(mWindowsTable->mCurList->getCellContent(mWindowsTable->mCurList->getInitialSelection(), 1)).toUtf8().constData());
|
||||
DbgCmdExecDirect(QString("EnableWindow %1").arg(mWindowsTable->mCurList->getCellContent(mWindowsTable->mCurList->getInitialSelection(), 1)));
|
||||
enumWindows();
|
||||
}
|
||||
|
||||
void HandlesView::disableWindowSlot()
|
||||
{
|
||||
DbgCmdExecDirect(QString("DisableWindow %1").arg(mWindowsTable->mCurList->getCellContent(mWindowsTable->mCurList->getInitialSelection(), 1)).toUtf8().constData());
|
||||
DbgCmdExecDirect(QString("DisableWindow %1").arg(mWindowsTable->mCurList->getCellContent(mWindowsTable->mCurList->getInitialSelection(), 1)));
|
||||
enumWindows();
|
||||
}
|
||||
|
||||
void HandlesView::followInDisasmSlot()
|
||||
{
|
||||
DbgCmdExec(QString("disasm %1").arg(mWindowsTable->mCurList->getCellContent(mWindowsTable->mCurList->getInitialSelection(), 0)).toUtf8().constData());
|
||||
DbgCmdExec(QString("disasm %1").arg(mWindowsTable->mCurList->getCellContent(mWindowsTable->mCurList->getInitialSelection(), 0)));
|
||||
}
|
||||
|
||||
void HandlesView::toggleBPSlot()
|
||||
|
@ -365,7 +365,7 @@ void HandlesView::toggleBPSlot()
|
|||
else if(wBpType == bp_none)
|
||||
wCmd = "bp " + ToPtrString(wVA);
|
||||
|
||||
DbgCmdExecDirect(wCmd.toUtf8().constData());
|
||||
DbgCmdExecDirect(wCmd);
|
||||
}
|
||||
|
||||
void HandlesView::messagesBPSlot()
|
||||
|
@ -496,7 +496,7 @@ void HandlesView::enumPrivileges()
|
|||
|
||||
void HandlesView::AppendPrivilege(int row, const char* PrivilegeString)
|
||||
{
|
||||
DbgCmdExecDirect(QString("GetPrivilegeState \"%1\"").arg(PrivilegeString).toUtf8().constData());
|
||||
DbgCmdExecDirect(QString("GetPrivilegeState \"%1\"").arg(PrivilegeString));
|
||||
mPrivilegesTable->setCellContent(row, 0, QString(PrivilegeString));
|
||||
switch(DbgValFromString("$result"))
|
||||
{
|
||||
|
|
|
@ -331,33 +331,33 @@ void LocalVarsView::followDumpSlot()
|
|||
{
|
||||
duint addr;
|
||||
if(getAddress(getCellContent(getInitialSelection(), 1), addr))
|
||||
DbgCmdExec(QString("dump %1").arg(ToPtrString(addr)).toUtf8().constData());
|
||||
DbgCmdExec(QString("dump %1").arg(ToPtrString(addr)));
|
||||
}
|
||||
|
||||
void LocalVarsView::followStackSlot()
|
||||
{
|
||||
duint addr;
|
||||
if(getAddress(getCellContent(getInitialSelection(), 1), addr))
|
||||
DbgCmdExec(QString("sdump %1").arg(ToPtrString(addr)).toUtf8().constData());
|
||||
DbgCmdExec(QString("sdump %1").arg(ToPtrString(addr)));
|
||||
}
|
||||
|
||||
void LocalVarsView::followMemMapSlot()
|
||||
{
|
||||
duint addr;
|
||||
if(getAddress(getCellContent(getInitialSelection(), 1), addr))
|
||||
DbgCmdExec(QString("memmapdump %1").arg(ToPtrString(addr)).toUtf8().constData());
|
||||
DbgCmdExec(QString("memmapdump %1").arg(ToPtrString(addr)));
|
||||
}
|
||||
|
||||
void LocalVarsView::followWordInDumpSlot()
|
||||
{
|
||||
duint addr;
|
||||
if(getAddress(getCellContent(getInitialSelection(), 1), addr))
|
||||
DbgCmdExec(QString("dump [%1]").arg(ToPtrString(addr)).toUtf8().constData());
|
||||
DbgCmdExec(QString("dump [%1]").arg(ToPtrString(addr)));
|
||||
}
|
||||
|
||||
void LocalVarsView::followWordInStackSlot()
|
||||
{
|
||||
duint addr;
|
||||
if(getAddress(getCellContent(getInitialSelection(), 1), addr))
|
||||
DbgCmdExec(QString("sdump [%1]").arg(ToPtrString(addr)).toUtf8().constData());
|
||||
DbgCmdExec(QString("sdump [%1]").arg(ToPtrString(addr)));
|
||||
}
|
||||
|
|
|
@ -294,10 +294,10 @@ void LogView::onAnchorClicked(const QUrl & link)
|
|||
if(ok && DbgMemIsValidReadPtr(address))
|
||||
{
|
||||
if(DbgFunctions()->MemIsCodePage(address, true))
|
||||
DbgCmdExec(QString("disasm %1").arg(link.fragment()).toUtf8().constData());
|
||||
DbgCmdExec(QString("disasm %1").arg(link.fragment()));
|
||||
else
|
||||
{
|
||||
DbgCmdExecDirect(QString("dump %1").arg(link.fragment()).toUtf8().constData());
|
||||
DbgCmdExecDirect(QString("dump %1").arg(link.fragment()));
|
||||
emit Bridge::getBridge()->getDumpAttention();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -919,7 +919,7 @@ void MainWindow::execCommandSlot()
|
|||
{
|
||||
QAction* action = qobject_cast<QAction*>(sender());
|
||||
if(action)
|
||||
DbgCmdExec(action->data().toString().toUtf8().constData());
|
||||
DbgCmdExec(action->data().toString());
|
||||
}
|
||||
|
||||
void MainWindow::setFocusToCommandBar()
|
||||
|
@ -1005,7 +1005,7 @@ void MainWindow::openFileSlot()
|
|||
|
||||
void MainWindow::openRecentFileSlot(QString filename)
|
||||
{
|
||||
DbgCmdExec(QString().sprintf("init \"%s\"", filename.toUtf8().constData()).toUtf8().constData());
|
||||
DbgCmdExec(QString().sprintf("init \"%s\"", filename.toUtf8().constData()));
|
||||
}
|
||||
|
||||
void MainWindow::runSlot()
|
||||
|
@ -1020,7 +1020,7 @@ void MainWindow::restartDebugging()
|
|||
{
|
||||
auto last = mMRUList->getEntry(0);
|
||||
if(!last.isEmpty())
|
||||
DbgCmdExec(QString("init \"%1\"").arg(last).toUtf8().constData());
|
||||
DbgCmdExec(QString("init \"%1\"").arg(last));
|
||||
}
|
||||
|
||||
void MainWindow::displayBreakpointWidget()
|
||||
|
@ -1041,7 +1041,7 @@ void MainWindow::dropEvent(QDropEvent* pEvent)
|
|||
if(pEvent->mimeData()->hasUrls())
|
||||
{
|
||||
QString filename = QDir::toNativeSeparators(pEvent->mimeData()->urls()[0].toLocalFile());
|
||||
DbgCmdExec(QString().sprintf("init \"%s\"", filename.toUtf8().constData()).toUtf8().constData());
|
||||
DbgCmdExec(QString().sprintf("init \"%s\"", filename.toUtf8().constData()));
|
||||
pEvent->acceptProposedAction();
|
||||
}
|
||||
}
|
||||
|
@ -1175,13 +1175,13 @@ void MainWindow::setLastException(unsigned int exceptionCode)
|
|||
|
||||
void MainWindow::findStrings()
|
||||
{
|
||||
DbgCmdExec(QString("strref " + ToPtrString(mCpuWidget->getDisasmWidget()->getSelectedVa())).toUtf8().constData());
|
||||
DbgCmdExec(QString("strref " + ToPtrString(mCpuWidget->getDisasmWidget()->getSelectedVa())));
|
||||
displayReferencesWidget();
|
||||
}
|
||||
|
||||
void MainWindow::findModularCalls()
|
||||
{
|
||||
DbgCmdExec(QString("modcallfind " + ToPtrString(mCpuWidget->getDisasmWidget()->getSelectedVa())).toUtf8().constData());
|
||||
DbgCmdExec(QString("modcallfind " + ToPtrString(mCpuWidget->getDisasmWidget()->getSelectedVa())));
|
||||
displayReferencesWidget();
|
||||
}
|
||||
|
||||
|
@ -1526,7 +1526,7 @@ void MainWindow::setNameMenu(int hMenu, QString name)
|
|||
void MainWindow::runSelection()
|
||||
{
|
||||
if(DbgIsDebugging())
|
||||
DbgCmdExec(("run " + ToPtrString(mCpuWidget->getSelectionVa())).toUtf8().constData());
|
||||
DbgCmdExec(("run " + ToPtrString(mCpuWidget->getSelectionVa())));
|
||||
}
|
||||
|
||||
void MainWindow::runExpression()
|
||||
|
@ -1992,7 +1992,7 @@ void MainWindow::clickFavouriteTool()
|
|||
}
|
||||
else if(data.compare("Command") == 0)
|
||||
{
|
||||
DbgCmdExec(action->text().toUtf8().constData());
|
||||
DbgCmdExec(action->text());
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2146,7 +2146,7 @@ void MainWindow::on_actionImportdatabase_triggered()
|
|||
auto filename = QFileDialog::getOpenFileName(this, tr("Import database"), QString(), tr("Databases (%1);;All files (*.*)").arg(ArchValue("*.dd32", "*.dd64")));
|
||||
if(!filename.length())
|
||||
return;
|
||||
DbgCmdExec(QString("dbload \"%1\"").arg(QDir::toNativeSeparators(filename)).toUtf8().constData());
|
||||
DbgCmdExec(QString("dbload \"%1\"").arg(QDir::toNativeSeparators(filename)));
|
||||
}
|
||||
|
||||
void MainWindow::on_actionExportdatabase_triggered()
|
||||
|
@ -2156,7 +2156,7 @@ void MainWindow::on_actionExportdatabase_triggered()
|
|||
auto filename = QFileDialog::getSaveFileName(this, tr("Export database"), QString(), tr("Databases (%1);;All files (*.*)").arg(ArchValue("*.dd32", "*.dd64")));
|
||||
if(!filename.length())
|
||||
return;
|
||||
DbgCmdExec(QString("dbsave \"%1\"").arg(QDir::toNativeSeparators(filename)).toUtf8().constData());
|
||||
DbgCmdExec(QString("dbsave \"%1\"").arg(QDir::toNativeSeparators(filename)));
|
||||
}
|
||||
|
||||
static void setupMenuCustomizationHelper(QMenu* parentMenu, QList<QAction*> & stringList)
|
||||
|
|
|
@ -354,11 +354,11 @@ void MemoryMapView::ExecCommand()
|
|||
{
|
||||
QString specializedCommand = command;
|
||||
specializedCommand.replace(QChar('$'), getCellContent(i, 0)); // $ -> Base address
|
||||
DbgCmdExec(specializedCommand.toUtf8().constData());
|
||||
DbgCmdExec(specializedCommand);
|
||||
}
|
||||
}
|
||||
else
|
||||
DbgCmdExec(command.toUtf8().constData());
|
||||
DbgCmdExec(command);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -460,12 +460,12 @@ void MemoryMapView::stateChangedSlot(DBGSTATE state)
|
|||
|
||||
void MemoryMapView::followDumpSlot()
|
||||
{
|
||||
DbgCmdExecDirect(QString("dump %1").arg(getCellContent(getInitialSelection(), 0)).toUtf8().constData());
|
||||
DbgCmdExecDirect(QString("dump %1").arg(getCellContent(getInitialSelection(), 0)));
|
||||
}
|
||||
|
||||
void MemoryMapView::followDisassemblerSlot()
|
||||
{
|
||||
DbgCmdExec(QString("disasm %1").arg(getCellContent(getInitialSelection(), 0)).toUtf8().constData());
|
||||
DbgCmdExec(QString("disasm %1").arg(getCellContent(getInitialSelection(), 0)));
|
||||
}
|
||||
|
||||
void MemoryMapView::doubleClickedSlot()
|
||||
|
@ -536,7 +536,7 @@ void MemoryMapView::memoryAllocateSlot()
|
|||
SimpleErrorBox(this, tr("Error"), tr("The size of buffer you're trying to allocate exceeds 1GB. Please check your expression to ensure nothing is wrong."));
|
||||
return;
|
||||
}
|
||||
DbgCmdExecDirect(QString("alloc %1").arg(ToPtrString(memsize)).toUtf8().constData());
|
||||
DbgCmdExecDirect(QString("alloc %1").arg(ToPtrString(memsize)));
|
||||
duint addr = DbgValFromString("$result");
|
||||
if(addr != 0)
|
||||
DbgCmdExec("dump $result");
|
||||
|
@ -563,7 +563,7 @@ void MemoryMapView::findPatternSlot()
|
|||
if(entireBlockEnabled)
|
||||
addr = 0;
|
||||
QString addrText = ToPtrString(addr);
|
||||
DbgCmdExec(QString("findmemall " + addrText + ", \"" + hexEdit.mHexEdit->pattern() + "\", &data&").toUtf8().constData());
|
||||
DbgCmdExec(QString("findmemall " + addrText + ", \"" + hexEdit.mHexEdit->pattern() + "\", &data&"));
|
||||
emit showReferences();
|
||||
}
|
||||
|
||||
|
@ -580,7 +580,7 @@ void MemoryMapView::dumpMemory()
|
|||
{
|
||||
fileName = QDir::toNativeSeparators(fileName);
|
||||
QString cmd = QString("savedata \"%1\",%2,%3").arg(fileName, addr, getCellContent(getInitialSelection(), 1));
|
||||
DbgCmdExec(cmd.toUtf8().constData());
|
||||
DbgCmdExec(cmd);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -630,14 +630,14 @@ void MemoryMapView::addVirtualModSlot()
|
|||
QString modname;
|
||||
if(!mDialog.getData(modname, base, size))
|
||||
return;
|
||||
DbgCmdExec(QString("virtualmod \"%1\", %2, %3").arg(modname).arg(ToHexString(base)).arg(ToHexString(size)).toUtf8().constData());
|
||||
DbgCmdExec(QString("virtualmod \"%1\", %2, %3").arg(modname).arg(ToHexString(base)).arg(ToHexString(size)));
|
||||
}
|
||||
|
||||
void MemoryMapView::findReferencesSlot()
|
||||
{
|
||||
auto base = getCellUserdata(getInitialSelection(), 0);
|
||||
auto size = getCellUserdata(getInitialSelection(), 1);
|
||||
DbgCmdExec(QString("reffindrange %1, %2, dis.sel()").arg(ToPtrString(base)).arg(ToPtrString(base + size)).toUtf8().constData());
|
||||
DbgCmdExec(QString("reffindrange %1, %2, dis.sel()").arg(ToPtrString(base)).arg(ToPtrString(base + size)));
|
||||
emit showReferences();
|
||||
}
|
||||
|
||||
|
|
|
@ -65,7 +65,7 @@ void MessagesBreakpoints::on_btnOk_clicked()
|
|||
{
|
||||
BPXTYPE wBpType = DbgGetBpxTypeAt(procVA);
|
||||
if(wBpType == bp_none)
|
||||
DbgCmdExec(QString("bp 0x%1").arg(bpData.procVA).toUtf8().constData());
|
||||
DbgCmdExec(QString("bp 0x%1").arg(bpData.procVA));
|
||||
|
||||
bpCondCmd = QString("bpcnd 0x%1, \"arg.get(1) == 0x%2").arg(bpData.procVA).arg(messages.key(ui->cboxMessages->currentText()), 1, 16);
|
||||
bpCondCmd.append(ui->rbtnBreakCurrent->isChecked() ? QString(" && arg.get(0) == 0x%1\"").arg(bpData.wndHandle) : "\"");
|
||||
|
@ -85,5 +85,5 @@ void MessagesBreakpoints::on_btnOk_clicked()
|
|||
#endif //_WIN64
|
||||
}
|
||||
|
||||
DbgCmdExec(bpCondCmd.toUtf8().constData());
|
||||
DbgCmdExec(bpCondCmd);
|
||||
}
|
||||
|
|
|
@ -216,8 +216,8 @@ void PatchDialog::groupPrevious()
|
|||
mGroupSelector->setPreviousEnabled(hasPreviousGroup(curPatchList, group));
|
||||
mGroupSelector->setNextEnabled(hasNextGroup(curPatchList, group));
|
||||
mGroupSelector->showNormal();
|
||||
DbgCmdExecDirect(QString("disasm " + addrText).toUtf8().constData());
|
||||
DbgCmdExecDirect(QString("dump " + addrText).toUtf8().constData());
|
||||
DbgCmdExecDirect(QString("disasm " + addrText));
|
||||
DbgCmdExecDirect(QString("dump " + addrText));
|
||||
}
|
||||
|
||||
void PatchDialog::groupNext()
|
||||
|
@ -241,8 +241,8 @@ void PatchDialog::groupNext()
|
|||
mGroupSelector->setPreviousEnabled(hasPreviousGroup(curPatchList, group));
|
||||
mGroupSelector->setNextEnabled(hasNextGroup(curPatchList, group));
|
||||
mGroupSelector->showNormal();
|
||||
DbgCmdExecDirect(QString("disasm " + addrText).toUtf8().constData());
|
||||
DbgCmdExecDirect(QString("dump " + addrText).toUtf8().constData());
|
||||
DbgCmdExecDirect(QString("disasm " + addrText));
|
||||
DbgCmdExecDirect(QString("dump " + addrText));
|
||||
}
|
||||
|
||||
void PatchDialog::on_listModules_itemSelectionChanged()
|
||||
|
@ -401,8 +401,8 @@ void PatchDialog::on_listPatches_itemSelectionChanged()
|
|||
if(!groupStart)
|
||||
return;
|
||||
QString addrText = ToPtrString(groupStart);
|
||||
DbgCmdExecDirect(QString("disasm " + addrText).toUtf8().constData());
|
||||
DbgCmdExecDirect(QString("dump " + addrText).toUtf8().constData());
|
||||
DbgCmdExecDirect(QString("disasm " + addrText));
|
||||
DbgCmdExecDirect(QString("dump " + addrText));
|
||||
}
|
||||
|
||||
void PatchDialog::on_btnPickGroups_clicked()
|
||||
|
@ -426,8 +426,8 @@ void PatchDialog::on_btnPickGroups_clicked()
|
|||
mGroupSelector->setPreviousEnabled(hasPreviousGroup(curPatchList, group));
|
||||
mGroupSelector->setNextEnabled(hasNextGroup(curPatchList, group));
|
||||
mGroupSelector->show();
|
||||
DbgCmdExecDirect(QString("disasm " + addrText).toUtf8().constData());
|
||||
DbgCmdExecDirect(QString("dump " + addrText).toUtf8().constData());
|
||||
DbgCmdExecDirect(QString("disasm " + addrText));
|
||||
DbgCmdExecDirect(QString("dump " + addrText));
|
||||
}
|
||||
|
||||
void PatchDialog::on_btnPatchFile_clicked()
|
||||
|
|
|
@ -87,11 +87,11 @@ void SEHChainView::doubleClickedSlot()
|
|||
void SEHChainView::followAddress()
|
||||
{
|
||||
QString addrText = getCellContent(getInitialSelection(), 0);
|
||||
DbgCmdExecDirect(QString("sdump " + addrText).toUtf8().constData());
|
||||
DbgCmdExecDirect(QString("sdump " + addrText));
|
||||
}
|
||||
|
||||
void SEHChainView::followHandler()
|
||||
{
|
||||
QString addrText = getCellContent(getInitialSelection(), 1);
|
||||
DbgCmdExecDirect(QString("disasm " + addrText).toUtf8().constData());
|
||||
DbgCmdExecDirect(QString("disasm " + addrText));
|
||||
}
|
||||
|
|
|
@ -122,7 +122,7 @@ void SourceView::followDisassemblerSlot()
|
|||
duint addr = addrFromIndex(getInitialSelection());
|
||||
if(!DbgMemIsValidReadPtr(addr))
|
||||
return;
|
||||
DbgCmdExec(QString("disasm %1").arg(ToPtrString(addr)).toUtf8().constData());
|
||||
DbgCmdExec(QString("disasm %1").arg(ToPtrString(addr)));
|
||||
}
|
||||
|
||||
void SourceView::followDumpSlot()
|
||||
|
@ -130,7 +130,7 @@ void SourceView::followDumpSlot()
|
|||
duint addr = addrFromIndex(getInitialSelection());
|
||||
if(!DbgMemIsValidReadPtr(addr))
|
||||
return;
|
||||
DbgCmdExec(QString("dump %1").arg(ToPtrString(addr)).toUtf8().constData());
|
||||
DbgCmdExec(QString("dump %1").arg(ToPtrString(addr)));
|
||||
}
|
||||
|
||||
void SourceView::toggleBookmarkSlot()
|
||||
|
|
|
@ -178,7 +178,7 @@ void StructWidget::followDumpSlot()
|
|||
{
|
||||
if(!hasSelection)
|
||||
return;
|
||||
DbgCmdExec(QString("dump %1").arg(ToPtrString(selectedType.addr + selectedType.offset)).toUtf8().constData());
|
||||
DbgCmdExec(QString("dump %1").arg(ToPtrString(selectedType.addr + selectedType.offset)));
|
||||
}
|
||||
|
||||
void StructWidget::clearSlot()
|
||||
|
@ -206,7 +206,7 @@ void StructWidget::visitSlot()
|
|||
mGotoDialog->setWindowTitle(tr("Address to visit"));
|
||||
if(DbgIsDebugging() && mGotoDialog->exec() == QDialog::Accepted)
|
||||
addr = DbgValFromString(mGotoDialog->expressionText.toUtf8().constData());
|
||||
DbgCmdExec(QString("VisitType %1, %2").arg(mLineEdit.editText, ToPtrString(addr)).toUtf8().constData());
|
||||
DbgCmdExec(QString("VisitType %1, %2").arg(mLineEdit.editText, ToPtrString(addr)));
|
||||
}
|
||||
|
||||
void StructWidget::loadJsonSlot()
|
||||
|
@ -215,7 +215,7 @@ void StructWidget::loadJsonSlot()
|
|||
if(!filename.length())
|
||||
return;
|
||||
filename = QDir::toNativeSeparators(filename);
|
||||
DbgCmdExec(QString("LoadTypes \"%1\"").arg(filename).toUtf8().constData());
|
||||
DbgCmdExec(QString("LoadTypes \"%1\"").arg(filename));
|
||||
}
|
||||
|
||||
void StructWidget::parseFileSlot()
|
||||
|
@ -224,7 +224,7 @@ void StructWidget::parseFileSlot()
|
|||
if(!filename.length())
|
||||
return;
|
||||
filename = QDir::toNativeSeparators(filename);
|
||||
DbgCmdExec(QString("ParseTypes \"%1\"").arg(filename).toUtf8().constData());
|
||||
DbgCmdExec(QString("ParseTypes \"%1\"").arg(filename));
|
||||
}
|
||||
|
||||
static void changeTypeAddr(QTreeWidgetItem* item, duint addr)
|
||||
|
|
|
@ -528,12 +528,12 @@ void SymbolView::symbolRefreshCurrent()
|
|||
|
||||
void SymbolView::symbolFollow()
|
||||
{
|
||||
DbgCmdExec(QString("disasm " + mSymbolList->mCurList->getCellContent(mSymbolList->mCurList->getInitialSelection(), 0)).toUtf8().constData());
|
||||
DbgCmdExec(QString("disasm " + mSymbolList->mCurList->getCellContent(mSymbolList->mCurList->getInitialSelection(), 0)));
|
||||
}
|
||||
|
||||
void SymbolView::symbolFollowDump()
|
||||
{
|
||||
DbgCmdExecDirect(QString("dump " + mSymbolList->mCurList->getCellContent(mSymbolList->mCurList->getInitialSelection(), 0)).toUtf8().constData());
|
||||
DbgCmdExecDirect(QString("dump " + mSymbolList->mCurList->getCellContent(mSymbolList->mCurList->getInitialSelection(), 0)));
|
||||
}
|
||||
|
||||
void SymbolView::symbolFollowImport()
|
||||
|
@ -544,11 +544,11 @@ void SymbolView::symbolFollowImport()
|
|||
return;
|
||||
if(DbgFunctions()->MemIsCodePage(addr, false))
|
||||
{
|
||||
DbgCmdExec(QString("disasm %1").arg(ToPtrString(addr)).toUtf8().constData());
|
||||
DbgCmdExec(QString("disasm %1").arg(ToPtrString(addr)));
|
||||
}
|
||||
else
|
||||
{
|
||||
DbgCmdExecDirect(QString("dump %1").arg(ToPtrString(addr)).toUtf8().constData());
|
||||
DbgCmdExecDirect(QString("dump %1").arg(ToPtrString(addr)));
|
||||
emit Bridge::getBridge()->getDumpAttention();
|
||||
}
|
||||
}
|
||||
|
@ -624,13 +624,13 @@ void SymbolView::moduleContextMenu(QMenu* wMenu)
|
|||
|
||||
void SymbolView::moduleFollow()
|
||||
{
|
||||
DbgCmdExec(QString("disasm " + mModuleList->mCurList->getCellContent(mModuleList->mCurList->getInitialSelection(), ColBase) + "+1000").toUtf8().constData());
|
||||
DbgCmdExec(QString("disasm " + mModuleList->mCurList->getCellContent(mModuleList->mCurList->getInitialSelection(), ColBase) + "+1000"));
|
||||
}
|
||||
|
||||
void SymbolView::moduleEntryFollow()
|
||||
{
|
||||
//Test case: libstdc++-6.dll
|
||||
DbgCmdExec(QString("disasm \"" + mModuleList->mCurList->getCellContent(mModuleList->mCurList->getInitialSelection(), ColModule) + "\":entry").toUtf8().constData());
|
||||
DbgCmdExec(QString("disasm \"" + mModuleList->mCurList->getCellContent(mModuleList->mCurList->getInitialSelection(), ColModule) + "\":entry"));
|
||||
}
|
||||
|
||||
void SymbolView::moduleCopyPath()
|
||||
|
@ -656,7 +656,7 @@ void SymbolView::moduleBrowse()
|
|||
|
||||
void SymbolView::moduleDownloadSymbols()
|
||||
{
|
||||
DbgCmdExec(QString("symdownload \"%0\"").arg(mModuleList->mCurList->getCellContent(mModuleList->mCurList->getInitialSelection(), ColModule)).toUtf8().constData());
|
||||
DbgCmdExec(QString("symdownload \"%0\"").arg(mModuleList->mCurList->getCellContent(mModuleList->mCurList->getInitialSelection(), ColModule)));
|
||||
}
|
||||
|
||||
void SymbolView::moduleDownloadAllSymbols()
|
||||
|
@ -673,7 +673,7 @@ void SymbolView::moduleLoad()
|
|||
if(browse.exec() != QDialog::Accepted && browse.path.length())
|
||||
return;
|
||||
auto fileName = browse.path;
|
||||
DbgCmdExec(QString("loadlib \"%1\"").arg(fileName.replace("\\", "\\\\")).toUtf8().constData());
|
||||
DbgCmdExec(QString("loadlib \"%1\"").arg(fileName.replace("\\", "\\\\")));
|
||||
}
|
||||
|
||||
void SymbolView::moduleFree()
|
||||
|
@ -691,7 +691,7 @@ void SymbolView::moduleFree()
|
|||
question.toUtf8().constData(),
|
||||
QMessageBox::Yes | QMessageBox::No);
|
||||
if(reply == QMessageBox::Yes)
|
||||
DbgCmdExec(QString("freelib %1").arg(mModuleList->mCurList->getCellContent(mModuleList->mCurList->getInitialSelection(), ColBase)).toUtf8().constData());
|
||||
DbgCmdExec(QString("freelib %1").arg(mModuleList->mCurList->getCellContent(mModuleList->mCurList->getInitialSelection(), ColBase)));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -731,7 +731,7 @@ void SymbolView::toggleBreakpoint()
|
|||
wCmd = "bp " + ToPtrString(wVA);
|
||||
}
|
||||
|
||||
DbgCmdExec(wCmd.toUtf8().constData());
|
||||
DbgCmdExec(wCmd);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -819,7 +819,7 @@ void SymbolView::moduleSetParty()
|
|||
void SymbolView::moduleFollowMemMap()
|
||||
{
|
||||
QString base = mModuleList->mCurList->getCellContent(mModuleList->mCurList->getInitialSelection(), ColBase);
|
||||
DbgCmdExec(("memmapdump " + base).toUtf8().constData());
|
||||
DbgCmdExec(("memmapdump " + base));
|
||||
}
|
||||
|
||||
void SymbolView::emptySearchResultSlot()
|
||||
|
|
|
@ -17,7 +17,7 @@ void ThreadView::contextMenuSlot(const QPoint & pos)
|
|||
void ThreadView::GoToThreadEntry()
|
||||
{
|
||||
QString addr_text = getCellContent(getInitialSelection(), 2);
|
||||
DbgCmdExecDirect(QString("disasm " + addr_text).toUtf8().constData());
|
||||
DbgCmdExecDirect(QString("disasm " + addr_text));
|
||||
}
|
||||
|
||||
void ThreadView::setupContextMenu()
|
||||
|
@ -144,11 +144,11 @@ void ThreadView::ExecCommand()
|
|||
{
|
||||
QString specializedCommand = command;
|
||||
specializedCommand.replace(QChar('$'), getCellContent(i, 1)); // $ -> Thread Id
|
||||
DbgCmdExec(specializedCommand.toUtf8().constData());
|
||||
DbgCmdExec(specializedCommand);
|
||||
}
|
||||
}
|
||||
else
|
||||
DbgCmdExec(command.toUtf8().constData());
|
||||
DbgCmdExec(command);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -381,10 +381,10 @@ QString ThreadView::paintContent(QPainter* painter, dsint rowBase, int rowOffset
|
|||
void ThreadView::doubleClickedSlot()
|
||||
{
|
||||
QString threadId = getCellContent(getInitialSelection(), 1);
|
||||
DbgCmdExecDirect(QString("switchthread " + threadId).toUtf8().constData());
|
||||
DbgCmdExecDirect(QString("switchthread " + threadId));
|
||||
|
||||
QString addr_text = getCellContent(getInitialSelection(), 4);
|
||||
DbgCmdExecDirect(QString("disasm " + addr_text).toUtf8().constData());
|
||||
DbgCmdExecDirect(QString("disasm " + addr_text));
|
||||
}
|
||||
|
||||
void ThreadView::SetNameSlot()
|
||||
|
@ -396,5 +396,5 @@ void ThreadView::SetNameSlot()
|
|||
if(mLineEdit.exec() != QDialog::Accepted)
|
||||
return;
|
||||
QString escapedName = mLineEdit.editText.replace("\"", "\\\"");
|
||||
DbgCmdExec(QString("setthreadname %1, \"%2\"").arg(threadId).arg(escapedName).toUtf8().constData());
|
||||
DbgCmdExec(QString("setthreadname %1, \"%2\"").arg(threadId).arg(escapedName));
|
||||
}
|
||||
|
|
|
@ -201,13 +201,13 @@ void WatchView::addWatchSlot()
|
|||
{
|
||||
QString name;
|
||||
if(SimpleInputBox(this, tr("Enter the expression to watch"), "", name, tr("Example: [EAX]")))
|
||||
DbgCmdExecDirect(QString("AddWatch ").append(name).toUtf8().constData());
|
||||
DbgCmdExecDirect(QString("AddWatch ").append(name));
|
||||
updateWatch();
|
||||
}
|
||||
|
||||
void WatchView::delWatchSlot()
|
||||
{
|
||||
DbgCmdExecDirect(QString("DelWatch ").append(getSelectedId()).toUtf8().constData());
|
||||
DbgCmdExecDirect(QString("DelWatch ").append(getSelectedId()));
|
||||
updateWatch();
|
||||
}
|
||||
|
||||
|
@ -216,7 +216,7 @@ void WatchView::renameWatchSlot()
|
|||
QString name;
|
||||
QString originalName = getCellContent(getInitialSelection(), 0);
|
||||
if(SimpleInputBox(this, tr("Enter the name of the watch variable"), originalName, name, originalName))
|
||||
DbgCmdExecDirect(QString("SetWatchName ").append(getSelectedId() + "," + name).toUtf8().constData());
|
||||
DbgCmdExecDirect(QString("SetWatchName ").append(getSelectedId() + "," + name));
|
||||
updateWatch();
|
||||
}
|
||||
|
||||
|
@ -241,36 +241,36 @@ void WatchView::editWatchSlot()
|
|||
{
|
||||
QString expr;
|
||||
if(SimpleInputBox(this, tr("Enter the expression to watch"), "", expr, tr("Example: [EAX]")))
|
||||
DbgCmdExecDirect(QString("SetWatchExpression ").append(getSelectedId()).append(",").append(expr).toUtf8().constData());
|
||||
DbgCmdExecDirect(QString("SetWatchExpression ").append(getSelectedId()).append(",").append(expr));
|
||||
updateWatch();
|
||||
}
|
||||
|
||||
void WatchView::watchdogDisableSlot()
|
||||
{
|
||||
DbgCmdExecDirect(QString("SetWatchdog %1, \"disabled\"").arg(getSelectedId()).toUtf8().constData());
|
||||
DbgCmdExecDirect(QString("SetWatchdog %1, \"disabled\"").arg(getSelectedId()));
|
||||
updateWatch();
|
||||
}
|
||||
|
||||
void WatchView::watchdogChangedSlot()
|
||||
{
|
||||
DbgCmdExecDirect(QString("SetWatchdog %1, \"changed\"").arg(getSelectedId()).toUtf8().constData());
|
||||
DbgCmdExecDirect(QString("SetWatchdog %1, \"changed\"").arg(getSelectedId()));
|
||||
updateWatch();
|
||||
}
|
||||
|
||||
void WatchView::watchdogUnchangedSlot()
|
||||
{
|
||||
DbgCmdExecDirect(QString("SetWatchdog %1, \"unchanged\"").arg(getSelectedId()).toUtf8().constData());
|
||||
DbgCmdExecDirect(QString("SetWatchdog %1, \"unchanged\"").arg(getSelectedId()));
|
||||
updateWatch();
|
||||
}
|
||||
|
||||
void WatchView::watchdogIsTrueSlot()
|
||||
{
|
||||
DbgCmdExecDirect(QString("SetWatchdog %1, \"istrue\"").arg(getSelectedId()).toUtf8().constData());
|
||||
DbgCmdExecDirect(QString("SetWatchdog %1, \"istrue\"").arg(getSelectedId()));
|
||||
updateWatch();
|
||||
}
|
||||
|
||||
void WatchView::watchdogIsFalseSlot()
|
||||
{
|
||||
DbgCmdExecDirect(QString("SetWatchdog %1, \"isfalse\"").arg(getSelectedId()).toUtf8().constData());
|
||||
DbgCmdExecDirect(QString("SetWatchdog %1, \"isfalse\"").arg(getSelectedId()));
|
||||
updateWatch();
|
||||
}
|
||||
|
|
|
@ -232,93 +232,93 @@ void XrefBrowseDialog::breakpointSlot()
|
|||
{
|
||||
QString addr_text = ToPtrString(mXrefInfo.references[ui->listWidget->currentRow()].addr);
|
||||
if(DbgGetBpxTypeAt(mXrefInfo.references[ui->listWidget->currentRow()].addr) & bp_normal)
|
||||
DbgCmdExec(QString("bc " + addr_text).toUtf8().constData());
|
||||
DbgCmdExec(QString("bc " + addr_text));
|
||||
else
|
||||
DbgCmdExec(QString("bp " + addr_text).toUtf8().constData());
|
||||
DbgCmdExec(QString("bp " + addr_text));
|
||||
}
|
||||
|
||||
void XrefBrowseDialog::hardwareAccess1Slot()
|
||||
{
|
||||
QString addr_text = ToPtrString(mXrefInfo.references[ui->listWidget->currentRow()].addr);
|
||||
DbgCmdExec(QString("bphws " + addr_text + ", r, 1").toUtf8().constData());
|
||||
DbgCmdExec(QString("bphws " + addr_text + ", r, 1"));
|
||||
}
|
||||
|
||||
void XrefBrowseDialog::hardwareAccess2Slot()
|
||||
{
|
||||
QString addr_text = ToPtrString(mXrefInfo.references[ui->listWidget->currentRow()].addr);
|
||||
DbgCmdExec(QString("bphws " + addr_text + ", r, 2").toUtf8().constData());
|
||||
DbgCmdExec(QString("bphws " + addr_text + ", r, 2"));
|
||||
}
|
||||
|
||||
void XrefBrowseDialog::hardwareAccess4Slot()
|
||||
{
|
||||
QString addr_text = ToPtrString(mXrefInfo.references[ui->listWidget->currentRow()].addr);
|
||||
DbgCmdExec(QString("bphws " + addr_text + ", r, 4").toUtf8().constData());
|
||||
DbgCmdExec(QString("bphws " + addr_text + ", r, 4"));
|
||||
}
|
||||
|
||||
void XrefBrowseDialog::hardwareAccess8Slot()
|
||||
{
|
||||
QString addr_text = ToPtrString(mXrefInfo.references[ui->listWidget->currentRow()].addr);
|
||||
DbgCmdExec(QString("bphws " + addr_text + ", r, 8").toUtf8().constData());
|
||||
DbgCmdExec(QString("bphws " + addr_text + ", r, 8"));
|
||||
}
|
||||
|
||||
void XrefBrowseDialog::hardwareWrite1Slot()
|
||||
{
|
||||
QString addr_text = ToPtrString(mXrefInfo.references[ui->listWidget->currentRow()].addr);
|
||||
DbgCmdExec(QString("bphws " + addr_text + ", w, 1").toUtf8().constData());
|
||||
DbgCmdExec(QString("bphws " + addr_text + ", w, 1"));
|
||||
}
|
||||
|
||||
void XrefBrowseDialog::hardwareWrite2Slot()
|
||||
{
|
||||
QString addr_text = ToPtrString(mXrefInfo.references[ui->listWidget->currentRow()].addr);
|
||||
DbgCmdExec(QString("bphws " + addr_text + ", w, 2").toUtf8().constData());
|
||||
DbgCmdExec(QString("bphws " + addr_text + ", w, 2"));
|
||||
}
|
||||
|
||||
void XrefBrowseDialog::hardwareWrite4Slot()
|
||||
{
|
||||
QString addr_text = ToPtrString(mXrefInfo.references[ui->listWidget->currentRow()].addr);
|
||||
DbgCmdExec(QString("bphws " + addr_text + ", w, 4").toUtf8().constData());
|
||||
DbgCmdExec(QString("bphws " + addr_text + ", w, 4"));
|
||||
}
|
||||
|
||||
void XrefBrowseDialog::hardwareWrite8Slot()
|
||||
{
|
||||
QString addr_text = ToPtrString(mXrefInfo.references[ui->listWidget->currentRow()].addr);
|
||||
DbgCmdExec(QString("bphws " + addr_text + ", w, 8").toUtf8().constData());
|
||||
DbgCmdExec(QString("bphws " + addr_text + ", w, 8"));
|
||||
}
|
||||
|
||||
void XrefBrowseDialog::hardwareRemoveSlot()
|
||||
{
|
||||
QString addr_text = ToPtrString(mXrefInfo.references[ui->listWidget->currentRow()].addr);
|
||||
DbgCmdExec(QString("bphwc " + addr_text).toUtf8().constData());
|
||||
DbgCmdExec(QString("bphwc " + addr_text));
|
||||
}
|
||||
|
||||
void XrefBrowseDialog::memoryAccessSingleshootSlot()
|
||||
{
|
||||
QString addr_text = ToPtrString(mXrefInfo.references[ui->listWidget->currentRow()].addr);
|
||||
DbgCmdExec(QString("bpm " + addr_text + ", 0, a").toUtf8().constData());
|
||||
DbgCmdExec(QString("bpm " + addr_text + ", 0, a"));
|
||||
}
|
||||
|
||||
void XrefBrowseDialog::memoryAccessRestoreSlot()
|
||||
{
|
||||
QString addr_text = ToPtrString(mXrefInfo.references[ui->listWidget->currentRow()].addr);
|
||||
DbgCmdExec(QString("bpm " + addr_text + ", 1, a").toUtf8().constData());
|
||||
DbgCmdExec(QString("bpm " + addr_text + ", 1, a"));
|
||||
}
|
||||
|
||||
void XrefBrowseDialog::memoryWriteSingleshootSlot()
|
||||
{
|
||||
QString addr_text = ToPtrString(mXrefInfo.references[ui->listWidget->currentRow()].addr);
|
||||
DbgCmdExec(QString("bpm " + addr_text + ", 0, w").toUtf8().constData());
|
||||
DbgCmdExec(QString("bpm " + addr_text + ", 0, w"));
|
||||
}
|
||||
|
||||
void XrefBrowseDialog::memoryWriteRestoreSlot()
|
||||
{
|
||||
QString addr_text = ToPtrString(mXrefInfo.references[ui->listWidget->currentRow()].addr);
|
||||
DbgCmdExec(QString("bpm " + addr_text + ", 1, w").toUtf8().constData());
|
||||
DbgCmdExec(QString("bpm " + addr_text + ", 1, w"));
|
||||
}
|
||||
|
||||
void XrefBrowseDialog::memoryRemoveSlot()
|
||||
{
|
||||
QString addr_text = ToPtrString(mXrefInfo.references[ui->listWidget->currentRow()].addr);
|
||||
DbgCmdExec(QString("bpmc " + addr_text).toUtf8().constData());
|
||||
DbgCmdExec(QString("bpmc " + addr_text));
|
||||
}
|
||||
|
||||
void XrefBrowseDialog::copyThisSlot()
|
||||
|
@ -332,9 +332,9 @@ void XrefBrowseDialog::breakpointAllSlot()
|
|||
{
|
||||
QString addr_text = ToPtrString(mXrefInfo.references[i].addr);
|
||||
if(DbgGetBpxTypeAt(mXrefInfo.references[i].addr) & bp_normal)
|
||||
DbgCmdExec(QString("bc " + addr_text).toUtf8().constData());
|
||||
DbgCmdExec(QString("bc " + addr_text));
|
||||
else
|
||||
DbgCmdExec(QString("bp " + addr_text).toUtf8().constData());
|
||||
DbgCmdExec(QString("bp " + addr_text));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1301,7 +1301,7 @@ void TraceBrowser::toggleRunTraceSlot()
|
|||
if(browse.path.contains(QChar('"')) || browse.path.contains(QChar('\'')))
|
||||
SimpleErrorBox(this, tr("Error"), tr("File name contains invalid character."));
|
||||
else
|
||||
DbgCmdExec(QString("StartRunTrace \"%1\"").arg(browse.path).toUtf8().constData());
|
||||
DbgCmdExec(QString("StartRunTrace \"%1\"").arg(browse.path));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1370,7 +1370,7 @@ void TraceBrowser::mnemonicHelpSlot()
|
|||
mTraceFile->OpCode(getInitialSelection(), data, &size);
|
||||
Zydis zydis;
|
||||
zydis.Disassemble(mTraceFile->Registers(getInitialSelection()).regcontext.cip, data);
|
||||
DbgCmdExecDirect(QString("mnemonichelp %1").arg(zydis.Mnemonic().c_str()).toUtf8().constData());
|
||||
DbgCmdExecDirect(QString("mnemonichelp %1").arg(zydis.Mnemonic().c_str()));
|
||||
emit displayLogWidget();
|
||||
}
|
||||
|
||||
|
@ -1878,7 +1878,7 @@ void TraceBrowser::followDisassemblySlot()
|
|||
|
||||
duint cip = mTraceFile->Registers(getInitialSelection()).regcontext.cip;
|
||||
if(DbgMemIsValidReadPtr(cip))
|
||||
DbgCmdExec(QString("dis ").append(ToPtrString(cip)).toUtf8().constData());
|
||||
DbgCmdExec(QString("dis ").append(ToPtrString(cip)));
|
||||
else
|
||||
GuiAddStatusBarMessage(tr("Cannot follow %1. Address is invalid.\n").arg(ToPtrString(cip)).toUtf8().constData());
|
||||
}
|
||||
|
|
|
@ -45,7 +45,7 @@ void Breakpoints::setBP(BPXTYPE type, duint va)
|
|||
break;
|
||||
}
|
||||
|
||||
DbgCmdExec(wCmd.toUtf8().constData());
|
||||
DbgCmdExec(wCmd);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -80,7 +80,7 @@ void Breakpoints::enableBP(const BRIDGEBP & bp)
|
|||
wCmd = QString("EnableExceptionBPX \"%1\"").arg(ToPtrString(bp.addr));
|
||||
}
|
||||
|
||||
DbgCmdExec(wCmd.toUtf8().constData());
|
||||
DbgCmdExec(wCmd);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -145,7 +145,7 @@ void Breakpoints::disableBP(const BRIDGEBP & bp)
|
|||
wCmd = QString("DisableExceptionBPX \"%1\"").arg(ToPtrString(bp.addr));
|
||||
}
|
||||
|
||||
DbgCmdExec(wCmd.toUtf8().constData());
|
||||
DbgCmdExec(wCmd);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -226,7 +226,7 @@ void Breakpoints::removeBP(const BRIDGEBP & bp)
|
|||
break;
|
||||
}
|
||||
|
||||
DbgCmdExec(wCmd.toUtf8().constData());
|
||||
DbgCmdExec(wCmd);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -514,7 +514,7 @@ bool Breakpoints::editBP(BPXTYPE type, const QString & addrText, QWidget* widget
|
|||
auto bp = dialog.getBp();
|
||||
auto exec = [](const QString & command)
|
||||
{
|
||||
DbgCmdExecDirect(command.toUtf8().constData());
|
||||
DbgCmdExecDirect(command);
|
||||
};
|
||||
switch(type)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue