forked from qt-creator/qt-creator
Debugger: Start debugserver for remote macOS
Change-Id: I5f713892dfbaaaecb7459c288df109bfe337f891 Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
@@ -1039,14 +1039,37 @@ DebugServerRunner::DebugServerRunner(RunControl *runControl, DebugServerPortsGat
|
|||||||
cmd.setExecutable(commandLine().executable()); // FIXME: Case should not happen?
|
cmd.setExecutable(commandLine().executable()); // FIXME: Case should not happen?
|
||||||
} else {
|
} else {
|
||||||
cmd.setExecutable(runControl->device()->debugServerPath());
|
cmd.setExecutable(runControl->device()->debugServerPath());
|
||||||
if (cmd.isEmpty())
|
|
||||||
cmd.setExecutable(runControl->device()->filePath("gdbserver"));
|
if (cmd.isEmpty()) {
|
||||||
|
if (runControl->device()->osType() == Utils::OsTypeMac) {
|
||||||
|
const FilePath debugServerLocation = runControl->device()->filePath(
|
||||||
|
"/Applications/Xcode.app/Contents/SharedFrameworks/LLDB.framework/"
|
||||||
|
"Resources/debugserver");
|
||||||
|
|
||||||
|
if (debugServerLocation.isExecutableFile()) {
|
||||||
|
cmd.setExecutable(debugServerLocation);
|
||||||
|
} else {
|
||||||
|
// TODO: In the future it is expected that the debugserver will be
|
||||||
|
// replaced by lldb-server. Remove the check for debug server at that point.
|
||||||
|
const FilePath lldbserver
|
||||||
|
= runControl->device()->filePath("lldb-server").searchInPath();
|
||||||
|
if (lldbserver.isExecutableFile())
|
||||||
|
cmd.setExecutable(lldbserver);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
cmd.setExecutable(runControl->device()->filePath("gdbserver"));
|
||||||
|
}
|
||||||
|
}
|
||||||
args.clear();
|
args.clear();
|
||||||
if (cmd.executable().toString().contains("lldb-server")) {
|
if (cmd.executable().baseName().contains("lldb-server")) {
|
||||||
args.append("platform");
|
args.append("platform");
|
||||||
args.append("--listen");
|
args.append("--listen");
|
||||||
args.append(QString("*:%1").arg(portsGatherer->gdbServer().port()));
|
args.append(QString("*:%1").arg(portsGatherer->gdbServer().port()));
|
||||||
args.append("--server");
|
args.append("--server");
|
||||||
|
} else if (cmd.executable().baseName() == "debugserver") {
|
||||||
|
args.append(QString("*:%1").arg(portsGatherer->gdbServer().port()));
|
||||||
|
args.append("--attach");
|
||||||
|
args.append(QString::number(m_pid.pid()));
|
||||||
} else {
|
} else {
|
||||||
// Something resembling gdbserver
|
// Something resembling gdbserver
|
||||||
if (m_useMulti)
|
if (m_useMulti)
|
||||||
|
Reference in New Issue
Block a user