1
0
Fork 0

Simplify setting x64dbg as a JIT debugger

This commit is contained in:
Duncan Ogilvie 2022-09-02 15:04:03 +02:00
parent 4cb959cf41
commit 701fb40159
3 changed files with 4 additions and 35 deletions

View File

@ -330,7 +330,6 @@ void SettingsDialog::LoadSettings()
#ifndef _WIN64
isx64 = false;
#endif
bool jit_auto_on;
bool get_jit_works;
get_jit_works = DbgFunctions()->GetJit(jit_entry, isx64);
DbgFunctions()->GetDefJit(jit_def_entry);
@ -347,18 +346,9 @@ void SettingsDialog::LoadSettings()
ui->chkSetJIT->setCheckState(bool2check(settings.miscSetJIT));
bool get_jit_auto_works = DbgFunctions()->GetJitAuto(&jit_auto_on);
if(!get_jit_auto_works || !jit_auto_on)
settings.miscSetJITAuto = true;
else
settings.miscSetJITAuto = false;
ui->chkConfirmBeforeAtt->setCheckState(bool2check(settings.miscSetJITAuto));
if(!BridgeIsProcessElevated())
{
ui->chkSetJIT->setDisabled(true);
ui->chkConfirmBeforeAtt->setDisabled(true);
ui->lblAdminWarning->setText(QString(tr("<font color=\"red\"><b>Warning</b></font>: Run the debugger as Admin to enable JIT.")));
}
else
@ -379,7 +369,6 @@ void SettingsDialog::LoadSettings()
ui->editHelpOnSymbolicNameUrl->setText(QString(setting));
bJitOld = settings.miscSetJIT;
bJitAutoOld = settings.miscSetJITAuto;
GetSettingBool("Misc", "Utf16LogRedirect", &settings.miscUtf16LogRedirect);
GetSettingBool("Misc", "UseLocalHelpFile", &settings.miscUseLocalHelpFile);
@ -486,18 +475,14 @@ void SettingsDialog::SaveSettings()
if(bJitOld != settings.miscSetJIT)
{
if(settings.miscSetJIT)
{
// Since Windows 10 WER will not trigger the JIT debugger at all without this
DbgCmdExec("setjitauto on");
DbgCmdExec("setjit oldsave");
}
else
DbgCmdExec("setjit restore");
}
if(bJitAutoOld != settings.miscSetJITAuto)
{
if(!settings.miscSetJITAuto)
DbgCmdExec("setjitauto on");
else
DbgCmdExec("setjitauto off");
}
}
if(settings.miscSymbolStore)
BridgeSettingSet("Symbols", "DefaultStore", ui->editSymbolStore->text().toUtf8().constData());
@ -705,11 +690,6 @@ void SettingsDialog::on_chkThreadEntry_stateChanged(int arg1)
settings.eventThreadEntry = arg1 != Qt::Unchecked;
}
void SettingsDialog::on_chkConfirmBeforeAtt_stateChanged(int arg1)
{
settings.miscSetJITAuto = arg1 != Qt::Unchecked;
}
void SettingsDialog::on_chkSetJIT_stateChanged(int arg1)
{
if(arg1 == Qt::Unchecked)

View File

@ -107,7 +107,6 @@ private slots:
void on_chkHideSeasonalIcons_toggled(bool checked);
//Misc tab
void on_chkSetJIT_stateChanged(int arg1);
void on_chkConfirmBeforeAtt_stateChanged(int arg1);
void on_editSymbolStore_textEdited(const QString & arg1);
void on_editSymbolCache_textEdited(const QString & arg1);
void on_chkUtf16LogRedirect_toggled(bool checked);
@ -241,7 +240,6 @@ private:
bool guiEnableQtHighDpiScaling;
//Misc Tab
bool miscSetJIT;
bool miscSetJITAuto;
bool miscSymbolStore;
bool miscSymbolCache;
bool miscUtf16LogRedirect;
@ -257,7 +255,6 @@ private:
QList<ExceptionFilter> realExceptionFilters;
std::unordered_map<duint, const char*> exceptionNames;
bool bJitOld;
bool bJitAutoOld;
bool bGuiOptionsUpdated;
bool bTokenizerConfigUpdated;
bool bDisableAutoCompleteUpdated;

View File

@ -980,13 +980,6 @@
</item>
</layout>
</item>
<item>
<widget class="QCheckBox" name="chkConfirmBeforeAtt">
<property name="text">
<string>Confirm before attaching</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="lblAdminWarning">
<property name="text">
@ -1121,7 +1114,6 @@
<tabstop>editSymbolCache</tabstop>
<tabstop>chkSetJIT</tabstop>
<tabstop>editJIT</tabstop>
<tabstop>chkConfirmBeforeAtt</tabstop>
<tabstop>btnSave</tabstop>
<tabstop>btnCancel</tabstop>
</tabstops>