From 05cf6a2b0d5b9a743855af97be2673ca8b2e4173 Mon Sep 17 00:00:00 2001 From: torusrxxx Date: Thu, 17 Mar 2022 23:27:00 +0800 Subject: [PATCH] Add "Ignore First-Chance" button to ignore all exceptions --- src/gui/Src/Gui/SettingsDialog.cpp | 16 ++++++++++++++++ src/gui/Src/Gui/SettingsDialog.h | 1 + src/gui/Src/Gui/SettingsDialog.ui | 10 ++++++++++ 3 files changed, 27 insertions(+) diff --git a/src/gui/Src/Gui/SettingsDialog.cpp b/src/gui/Src/Gui/SettingsDialog.cpp index 562048c1..f5297d5f 100644 --- a/src/gui/Src/Gui/SettingsDialog.cpp +++ b/src/gui/Src/Gui/SettingsDialog.cpp @@ -910,6 +910,22 @@ void SettingsDialog::on_btnIgnoreLast_clicked() AddExceptionFilterToList(filter); } +// Shortcut to ignore all first chance exceptions and don't log +void SettingsDialog::on_btnIgnoreFirst_clicked() +{ + for(int i = 0; i < settings.exceptionFilters->size(); i++) + { + ExceptionFilter & filter = (*settings.exceptionFilters)[i]; + if(filter.range.start == 0 && filter.range.end == 0) + { + filter.breakOn = ExceptionBreakOn::SecondChance; + filter.handledBy = ExceptionHandledBy::Debuggee; + filter.logException = false; + } + } + UpdateExceptionListWidget(); +} + void SettingsDialog::on_listExceptions_currentItemChanged(QListWidgetItem* current, QListWidgetItem*) { OnExceptionFilterSelectionChanged(current); diff --git a/src/gui/Src/Gui/SettingsDialog.h b/src/gui/Src/Gui/SettingsDialog.h index af6588a6..2dce6914 100644 --- a/src/gui/Src/Gui/SettingsDialog.h +++ b/src/gui/Src/Gui/SettingsDialog.h @@ -69,6 +69,7 @@ private slots: void on_btnIgnoreRange_clicked(); void on_btnDeleteRange_clicked(); void on_btnIgnoreLast_clicked(); + void on_btnIgnoreFirst_clicked(); void on_listExceptions_currentItemChanged(QListWidgetItem* current, QListWidgetItem* previous); void on_listExceptions_itemClicked(QListWidgetItem* item); void on_radioFirstChance_clicked(); diff --git a/src/gui/Src/Gui/SettingsDialog.ui b/src/gui/Src/Gui/SettingsDialog.ui index 438e6e86..96195cf5 100644 --- a/src/gui/Src/Gui/SettingsDialog.ui +++ b/src/gui/Src/Gui/SettingsDialog.ui @@ -523,6 +523,16 @@ + + + + Ignore all first-chance exceptions, don't print log, pass them to the debuggee and only break on second-chance exceptions. + + + Ignore First-Chance + + +