diff --git a/src/plugins/debugger/gdb/trkgdbadapter.cpp b/src/plugins/debugger/gdb/trkgdbadapter.cpp index 4807add6b8b392a0b0ddd4c7127f9017facbd4ab..fa2d30cdaaf30852e60e5c5fd383058eeecd6331 100644 --- a/src/plugins/debugger/gdb/trkgdbadapter.cpp +++ b/src/plugins/debugger/gdb/trkgdbadapter.cpp @@ -1492,10 +1492,12 @@ void TrkGdbAdapter::startAdapter() m_remoteExecutable = parameters.executable; m_remoteArguments = parameters.processArgs; m_symbolFile = parameters.symbolFileName; + QString remoteChannel = parameters.remoteChannel; // FIXME: testing hack, remove! - if (parameters.processArgs.size() == 3 && parameters.processArgs.at(0) == _("@sym@")) { - m_remoteExecutable = parameters.processArgs.at(1); - m_symbolFile = parameters.processArgs.at(2); + if (parameters.processArgs.size() >= 4 && parameters.processArgs.at(0) == _("@sym@")) { + remoteChannel = parameters.processArgs.at(1); + m_remoteExecutable = parameters.processArgs.at(2); + m_symbolFile = parameters.processArgs.at(3); m_remoteArguments.clear(); } // Unixish gdbs accept only forward slashes @@ -1507,7 +1509,7 @@ void TrkGdbAdapter::startAdapter() // Prompt the user to start communication QString message; - if (!initializeDevice(parameters.remoteChannel, &message)) { + if (!initializeDevice(remoteChannel, &message)) { if (message.isEmpty()) { m_engine->handleAdapterStartFailed(QString(), QString()); } else {