diff --git a/src/debugger.cpp b/src/debugger.cpp --- a/src/debugger.cpp +++ b/src/debugger.cpp @@ -24,6 +24,7 @@ #include "crashedapplication.h" #include "drkonqi.h" +#include "drkonqi_debug.h" //static QList Debugger::availableInternalDebuggers(const QString & backend) @@ -45,7 +46,14 @@ bool Debugger::isInstalled() const { QString tryexec = tryExec(); - return !tryexec.isEmpty() && !QStandardPaths::findExecutable(tryexec).isEmpty(); + if(tryexec.isEmpty()) { + qCDebug(DRKONQI_LOG) << "tryExec of" << name() << "is empty!"; + return false; + } + + // Find for executable in PATH and in our application path + return !QStandardPaths::findExecutable(tryexec).isEmpty() + || !QStandardPaths::findExecutable(tryexec, {QCoreApplication::applicationDirPath()}).isEmpty(); } QString Debugger::name() const diff --git a/src/drkonqibackends.cpp b/src/drkonqibackends.cpp --- a/src/drkonqibackends.cpp +++ b/src/drkonqibackends.cpp @@ -172,6 +172,7 @@ Debugger firstKnownGoodDebugger, preferredDebugger; foreach (const Debugger & debugger, internalDebuggers) { + qCDebug(DRKONQI_LOG) << "Check debugger if" << debugger.name() << "is installed:" << debugger.isInstalled(); if (!firstKnownGoodDebugger.isValid() && debugger.isInstalled()) { firstKnownGoodDebugger = debugger; } @@ -235,5 +236,3 @@ Q_UNUSED(signal); ::kill(s_pid, SIGKILL); } - -