diff --git a/src/plugins/debugger/debuggeractions.cpp b/src/plugins/debugger/debuggeractions.cpp
index f2bee6aa84bc734c0a965351277ad6550afa7bfb..41f503028f8a4b83c55f7571ba8949796c3837a8 100644
--- a/src/plugins/debugger/debuggeractions.cpp
+++ b/src/plugins/debugger/debuggeractions.cpp
@@ -337,6 +337,14 @@ DebuggerSettings::DebuggerSettings(QSettings *settings)
     item->setSettingsKey(debugModeGroup, QLatin1String("BreakOnFatal"));
     insertItem(BreakOnFatal, item);
 
+    item = new SavedAction(this);
+    item->setText(tr("Break on \"abort\""));
+    item->setCheckable(true);
+    item->setDefaultValue(false);
+    item->setValue(false);
+    item->setSettingsKey(debugModeGroup, QLatin1String("BreakOnAbort"));
+    insertItem(BreakOnAbort, item);
+
     //
     // Settings
     //
diff --git a/src/plugins/debugger/debuggeractions.h b/src/plugins/debugger/debuggeractions.h
index 85d2ba2bd844d45129d5ec46ab52632f797dc24d..081a11e6f235271d7a653acb5e54d4e380b2a419 100644
--- a/src/plugins/debugger/debuggeractions.h
+++ b/src/plugins/debugger/debuggeractions.h
@@ -155,6 +155,7 @@ enum DebuggerActionCode
     BreakOnCatch,
     BreakOnWarning,
     BreakOnFatal,
+    BreakOnAbort,
 
     // Registers
     AlwaysAdjustRegistersColumnWidths,
diff --git a/src/plugins/debugger/gdb/gdbengine.cpp b/src/plugins/debugger/gdb/gdbengine.cpp
index d25ea82ac46f937c1ca255a80814e904059f57ea..56e75f4ff03b0ee19f9b93ff996bc616e4186f08 100644
--- a/src/plugins/debugger/gdb/gdbengine.cpp
+++ b/src/plugins/debugger/gdb/gdbengine.cpp
@@ -4932,6 +4932,9 @@ void GdbEngine::handleNamespaceExtraction(const GdbResponse &response)
     if (startParameters().startMode == AttachCore) {
         notifyInferiorSetupOk(); // No breakpoints in core files.
     } else {
+        if (debuggerCore()->boolSetting(BreakOnAbort)
+                && startParameters().toolChainAbi.os() == Abi::WindowsOS)
+            postCommand("-break-insert -f raise");
         if (debuggerCore()->boolSetting(BreakOnWarning))
             postCommand("-break-insert -f '" + qtNamespace() + "qWarning'");
         if (debuggerCore()->boolSetting(BreakOnFatal))
diff --git a/src/plugins/debugger/gdb/gdboptionspage.cpp b/src/plugins/debugger/gdb/gdboptionspage.cpp
index b391389c6044758e54758bf92782c51ed7a4d024..8705bd96e1cfb9be354f36ccbe8f509888b5791c 100644
--- a/src/plugins/debugger/gdb/gdboptionspage.cpp
+++ b/src/plugins/debugger/gdb/gdboptionspage.cpp
@@ -71,6 +71,7 @@ public:
     QCheckBox *checkBoxAutoEnrichParameters;
     QCheckBox *checkBoxBreakOnWarning;
     QCheckBox *checkBoxBreakOnFatal;
+    QCheckBox *checkBoxBreakOnAbort;
     QCheckBox *checkBoxEnableReverseDebugging;
 
     QGroupBox *groupBoxStartupCommands;
@@ -164,6 +165,9 @@ public:
         checkBoxBreakOnFatal = new QCheckBox(groupBoxGeneral);
         checkBoxBreakOnFatal->setText(GdbOptionsPage::tr("Stop when a qFatal is issued"));
 
+        checkBoxBreakOnAbort = new QCheckBox(groupBoxGeneral);
+        checkBoxBreakOnAbort->setText(GdbOptionsPage::tr("Stop when abort is called"));
+
         checkBoxEnableReverseDebugging = new QCheckBox(groupBoxGeneral);
         checkBoxEnableReverseDebugging->setText(GdbOptionsPage::tr("Enable reverse debugging"));
         checkBoxEnableReverseDebugging->setToolTip(GdbOptionsPage::tr(
@@ -217,6 +221,7 @@ public:
         formLayout->addRow(checkBoxAutoEnrichParameters);
         formLayout->addRow(checkBoxBreakOnWarning);
         formLayout->addRow(checkBoxBreakOnFatal);
+        formLayout->addRow(checkBoxBreakOnAbort);
         formLayout->addRow(checkBoxEnableReverseDebugging);
 
         QGridLayout *startLayout = new QGridLayout(groupBoxStartupCommands);
@@ -293,6 +298,8 @@ QWidget *GdbOptionsPage::createPage(QWidget *parent)
         m_ui->checkBoxBreakOnWarning);
     m_group.insert(debuggerCore()->action(BreakOnFatal),
         m_ui->checkBoxBreakOnFatal);
+    m_group.insert(debuggerCore()->action(BreakOnAbort),
+        m_ui->checkBoxBreakOnAbort);
     m_group.insert(debuggerCore()->action(GdbWatchdogTimeout),
         m_ui->spinBoxGdbWatchdogTimeout);