diff --git a/src/plugins/debugger/debuggerrunner.cpp b/src/plugins/debugger/debuggerrunner.cpp index 7c88aca176d634b7a622094c36451f60f503f06f..846f64803c69db39e14c8e33d45f4a47ec10dfec 100644 --- a/src/plugins/debugger/debuggerrunner.cpp +++ b/src/plugins/debugger/debuggerrunner.cpp @@ -248,6 +248,23 @@ void DebuggerRunControl::start() return; } + foreach (const BreakpointId &id, debuggerCore()->breakHandler()->allBreakpointIds()) { + if (!d->m_engine->acceptsBreakpoint(id)) { + debuggerCore()->showMessage(DebuggerPlugin::tr("Some breakpoints cannot be handled by the current debugger, and will be ignored."), LogWarning); + + int result = QMessageBox::warning(debuggerCore()->mainWindow(), + DebuggerPlugin::tr("Warning"), DebuggerPlugin::tr("Some breakpoints cannot be handled by the debugger, and will be ignored. Do you want to continue?"), + QMessageBox::Ok | QMessageBox::Cancel); + + if (result == QMessageBox::Cancel) { + emit started(); + emit finished(); + return; + } + break; + } + } + debuggerCore()->runControlStarted(d->m_engine); // We might get a synchronous startFailed() notification on Windows,