diff options
Diffstat (limited to 'src/plugins/debugger/debuggerruncontrol.cpp')
-rw-r--r-- | src/plugins/debugger/debuggerruncontrol.cpp | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/src/plugins/debugger/debuggerruncontrol.cpp b/src/plugins/debugger/debuggerruncontrol.cpp index 05ad558feb..463342357b 100644 --- a/src/plugins/debugger/debuggerruncontrol.cpp +++ b/src/plugins/debugger/debuggerruncontrol.cpp @@ -1103,13 +1103,21 @@ DebugServerRunner::DebugServerRunner(RunControl *runControl, DebugServerPortsGat if (debugServer.executable.isEmpty()) debugServer.executable = FilePath::fromString("gdbserver"); args.clear(); - if (m_useMulti) - args.append("--multi"); - if (m_pid.isValid()) - args.append("--attach"); - args.append(QString(":%1").arg(portsGatherer->gdbServer().port())); - if (m_pid.isValid()) - args.append(QString::number(m_pid.pid())); + if (debugServer.executable.toString().contains("lldb-server")) { + args.append("platform"); + args.append("--listen"); + args.append(QString("*:%1").arg(portsGatherer->gdbServer().port())); + args.append("--server"); + } else { + // Something resembling gdbserver + if (m_useMulti) + args.append("--multi"); + if (m_pid.isValid()) + args.append("--attach"); + args.append(QString(":%1").arg(portsGatherer->gdbServer().port())); + if (m_pid.isValid()) + args.append(QString::number(m_pid.pid())); + } } debugServer.commandLineArguments = QtcProcess::joinArgs(args, OsTypeLinux); |