forked from qt-creator/qt-creator
Debugger: Fix engine detection: Add default path for mode.
This commit is contained in:
@@ -1007,18 +1007,19 @@ static IDebuggerEngine *debuggerEngineForExecutable(const QString &executable,
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
// Figure out the debugger type of a PID
|
// Debugger type for mode
|
||||||
static IDebuggerEngine *debuggerEngineForAttach(QString *errorMessage)
|
static IDebuggerEngine *debuggerEngineForMode(DebuggerStartMode startMode, QString *errorMessage)
|
||||||
{
|
{
|
||||||
#ifdef Q_OS_WIN
|
#ifdef Q_OS_WIN
|
||||||
// Preferably Windows debugger
|
// Preferably Windows debugger for attaching locally.
|
||||||
if (winEngine)
|
if (startMode != StartRemote && winEngine)
|
||||||
return winEngine;
|
return winEngine;
|
||||||
if (gdbEngine)
|
if (gdbEngine)
|
||||||
return gdbEngine;
|
return gdbEngine;
|
||||||
*errorMessage = msgEngineNotAvailable("Gdb Engine");
|
*errorMessage = msgEngineNotAvailable("Gdb Engine");
|
||||||
return 0;
|
return 0;
|
||||||
#else
|
#else
|
||||||
|
Q_UNUSED(startMode)
|
||||||
if (!gdbEngine) {
|
if (!gdbEngine) {
|
||||||
*errorMessage = msgEngineNotAvailable("Gdb Engine");
|
*errorMessage = msgEngineNotAvailable("Gdb Engine");
|
||||||
return 0;
|
return 0;
|
||||||
@@ -1046,7 +1047,7 @@ void DebuggerManager::startNewDebugger(const DebuggerStartParametersPtr &sp)
|
|||||||
QString errorMessage;
|
QString errorMessage;
|
||||||
QString settingsIdHint;
|
QString settingsIdHint;
|
||||||
|
|
||||||
// Figure out engine: toolchain, executable or attach
|
// Figure out engine: toolchain, executable, attach or default
|
||||||
const DebuggerStartMode startMode = d->m_startParameters->startMode;
|
const DebuggerStartMode startMode = d->m_startParameters->startMode;
|
||||||
d->m_engine = debuggerEngineForToolChain(d->m_startParameters->toolChainType);
|
d->m_engine = debuggerEngineForToolChain(d->m_startParameters->toolChainType);
|
||||||
|
|
||||||
@@ -1054,10 +1055,8 @@ void DebuggerManager::startNewDebugger(const DebuggerStartParametersPtr &sp)
|
|||||||
&& !d->m_startParameters->executable.isEmpty())
|
&& !d->m_startParameters->executable.isEmpty())
|
||||||
d->m_engine = debuggerEngineForExecutable(d->m_startParameters->executable, &errorMessage, &settingsIdHint);
|
d->m_engine = debuggerEngineForExecutable(d->m_startParameters->executable, &errorMessage, &settingsIdHint);
|
||||||
|
|
||||||
if (d->m_engine == 0
|
if (d->m_engine == 0)
|
||||||
&& (startMode == AttachExternal || startMode == AttachCrashedExternal
|
d->m_engine = debuggerEngineForMode(startMode, &errorMessage);
|
||||||
|| startMode == AttachCore))
|
|
||||||
d->m_engine = debuggerEngineForAttach(&errorMessage);
|
|
||||||
|
|
||||||
if (!d->m_engine) {
|
if (!d->m_engine) {
|
||||||
emit debuggingFinished();
|
emit debuggingFinished();
|
||||||
|
|||||||
Reference in New Issue
Block a user