diff --git a/src/plugins/debugger/debuggeritemmanager.cpp b/src/plugins/debugger/debuggeritemmanager.cpp index 59c3adb04619ff4473c5e0d0e133a12c8fffbc96..ae30219d9f25b4ad1edd2812d1187117561e8232 100644 --- a/src/plugins/debugger/debuggeritemmanager.cpp +++ b/src/plugins/debugger/debuggeritemmanager.cpp @@ -92,11 +92,19 @@ static void readDebuggers(const FileName &fileName, bool isSystem) // SDK debuggers are always considered to be up-to-date, so no need to recheck them. } else { // User settings. - if (item.isAutoDetected() && (!item.isValid() || item.engineType() == NoEngineType)) { - qWarning() << QString::fromLatin1("DebuggerItem \"%1\" (%2) dropped since it is not valid") - .arg(item.command().toString()).arg(item.id().toString()); - continue; + if (item.isAutoDetected()) { + if (!item.isValid() || item.engineType() == NoEngineType) { + qWarning() << QString::fromLatin1("DebuggerItem \"%1\" (%2) read from \"%3\" dropped since it is not valid.") + .arg(item.command().toUserOutput(), item.id().toString(), fileName.toUserOutput()); + continue; + } + if (!item.command().toFileInfo().isExecutable()) { + qWarning() << QString::fromLatin1("DebuggerItem \"%1\" (%2) read from \"%3\" dropped since the command is not executable.") + .arg(item.command().toUserOutput(), item.id().toString(), fileName.toUserOutput()); + continue; + } } + } DebuggerItemManager::registerDebugger(item); }