From 6206dc8b64051416faad4f329c496bd14f1b00c0 Mon Sep 17 00:00:00 2001 From: hjk Date: Mon, 17 Mar 2014 18:27:26 +0100 Subject: Debugger: Be more verbose about unhandled breakpoints Especially for mixed debugging getting the ID explicitly gives hints which part of the combined engine fails. Change-Id: Iab4b54d6e9fb8d4afd3df0855861511bc06454c1 Reviewed-by: Friedemann Kleint --- src/plugins/debugger/debuggerrunner.cpp | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) (limited to 'src') diff --git a/src/plugins/debugger/debuggerrunner.cpp b/src/plugins/debugger/debuggerrunner.cpp index 91bd58cc1c..781602ddf0 100644 --- a/src/plugins/debugger/debuggerrunner.cpp +++ b/src/plugins/debugger/debuggerrunner.cpp @@ -193,26 +193,28 @@ void DebuggerRunControl::start() } if (d->m_engine->startParameters().startMode == StartInternal) { + QStringList unhandledIds; foreach (const BreakpointModelId &id, debuggerCore()->breakHandler()->allBreakpointIds()) { if (d->m_engine->breakHandler()->breakpointData(id).enabled - && !d->m_engine->acceptsBreakpoint(id)) { - - QString warningMessage = - DebuggerPlugin::tr("Some breakpoints cannot be handled by the debugger " - "languages currently active, and will be ignored."); + && !d->m_engine->acceptsBreakpoint(id)) + unhandledIds.append(id.toString()); + } + if (!unhandledIds.isEmpty()) { + QString warningMessage = + DebuggerPlugin::tr("Some breakpoints cannot be handled by the debugger " + "languages currently active, and will be ignored.\n" + "Affected are breakpoints %1") + .arg(unhandledIds.join(QLatin1String(", "))); - debuggerCore()->showMessage(warningMessage, LogWarning); + debuggerCore()->showMessage(warningMessage, LogWarning); - static bool checked = true; - if (!checked) - break; + static bool checked = true; + if (checked) CheckableMessageBox::information(Core::ICore::mainWindow(), tr("Debugger"), warningMessage, tr("&Show this message again."), &checked, QDialogButtonBox::Ok); - break; - } } } -- cgit v1.2.3