From 46c4f84a043b3fbc4f0f27dfcb20a81cb5dc6171 Mon Sep 17 00:00:00 2001 From: ck <qt-info@nokia.com> Date: Fri, 16 Oct 2009 16:16:24 +0200 Subject: [PATCH] Add support for "set sysroot" for remote debugging. --- src/plugins/debugger/debuggerdialogs.cpp | 10 +++++++ src/plugins/debugger/debuggerdialogs.h | 2 ++ src/plugins/debugger/debuggermanager.h | 1 + src/plugins/debugger/debuggerplugin.cpp | 3 ++ src/plugins/debugger/gdb/remotegdbadapter.cpp | 1 + src/plugins/debugger/startremotedialog.ui | 28 +++++++++++++------ 6 files changed, 36 insertions(+), 9 deletions(-) diff --git a/src/plugins/debugger/debuggerdialogs.cpp b/src/plugins/debugger/debuggerdialogs.cpp index 204be588455..380852c7b44 100644 --- a/src/plugins/debugger/debuggerdialogs.cpp +++ b/src/plugins/debugger/debuggerdialogs.cpp @@ -454,6 +454,16 @@ bool StartRemoteDialog::useServerStartScript() const return m_ui->useServerStartScriptCheckBox->isChecked(); } +void StartRemoteDialog::setSysroot(const QString &sysroot) +{ + m_ui->sysrootPathChooser->setPath(sysroot); +} + +const QString StartRemoteDialog::sysroot() const +{ + return m_ui->sysrootPathChooser->path(); +} + void StartRemoteDialog::updateState() { bool enabled = m_ui->useServerStartScriptCheckBox->isChecked(); diff --git a/src/plugins/debugger/debuggerdialogs.h b/src/plugins/debugger/debuggerdialogs.h index a70fe106b15..03c323259a5 100644 --- a/src/plugins/debugger/debuggerdialogs.h +++ b/src/plugins/debugger/debuggerdialogs.h @@ -140,6 +140,8 @@ public: QString serverStartScript() const; void setUseServerStartScript(bool on); bool useServerStartScript() const; + void setSysroot(const QString &sysroot); + const QString sysroot() const; private slots: void updateState(); diff --git a/src/plugins/debugger/debuggermanager.h b/src/plugins/debugger/debuggermanager.h index 76869b379e2..0543f9c54f7 100644 --- a/src/plugins/debugger/debuggermanager.h +++ b/src/plugins/debugger/debuggermanager.h @@ -112,6 +112,7 @@ public: QString remoteArchitecture; QString symbolFileName; QString serverStartScript; + QString sysRoot; int toolChainType; QString dumperLibrary; diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp index acd19909d10..f9ae5cd24c1 100644 --- a/src/plugins/debugger/debuggerplugin.cpp +++ b/src/plugins/debugger/debuggerplugin.cpp @@ -1292,17 +1292,20 @@ void DebuggerPlugin::startRemoteApplication() configValue(_("LastServerStartScript")).toString()); dlg.setUseServerStartScript( configValue(_("LastUseServerStartScript")).toBool()); + dlg.setSysroot(configValue(_("LastSysroot")).toString()); if (dlg.exec() != QDialog::Accepted) return; setConfigValue(_("LastRemoteChannel"), dlg.remoteChannel()); setConfigValue(_("LastRemoteArchitecture"), dlg.remoteArchitecture()); setConfigValue(_("LastServerStartScript"), dlg.serverStartScript()); setConfigValue(_("LastUseServerStartScript"), dlg.useServerStartScript()); + setConfigValue(_("LastSysroot"), dlg.sysroot()); sp->remoteChannel = dlg.remoteChannel(); sp->remoteArchitecture = dlg.remoteArchitecture(); sp->startMode = StartRemote; if (dlg.useServerStartScript()) sp->serverStartScript = dlg.serverStartScript(); + sp->sysRoot = dlg.sysroot(); RunConfigurationPtr rc = activeRunConfiguration(); if (rc.isNull()) diff --git a/src/plugins/debugger/gdb/remotegdbadapter.cpp b/src/plugins/debugger/gdb/remotegdbadapter.cpp index b1f8e7a70df..0a32bfc28b2 100644 --- a/src/plugins/debugger/gdb/remotegdbadapter.cpp +++ b/src/plugins/debugger/gdb/remotegdbadapter.cpp @@ -159,6 +159,7 @@ void RemoteGdbAdapter::startInferior() m_engine->postCommand(_("set architecture %1") .arg(startParameters().remoteArchitecture)); + m_engine->postCommand(_("set sysroot %1").arg(startParameters().sysRoot)); if (!startParameters().processArgs.isEmpty()) m_engine->postCommand(_("-exec-arguments ") diff --git a/src/plugins/debugger/startremotedialog.ui b/src/plugins/debugger/startremotedialog.ui index 4bfc2151907..5d596e17e7f 100644 --- a/src/plugins/debugger/startremotedialog.ui +++ b/src/plugins/debugger/startremotedialog.ui @@ -6,7 +6,7 @@ <rect> <x>0</x> <y>0</y> - <width>310</width> + <width>439</width> <height>224</height> </rect> </property> @@ -49,26 +49,36 @@ <item row="1" column="1"> <widget class="QComboBox" name="architectureComboBox"/> </item> - <item row="2" column="1"> + <item row="4" column="1"> <widget class="QCheckBox" name="useServerStartScriptCheckBox"/> </item> - <item row="2" column="0"> + <item row="5" column="1"> + <widget class="Utils::PathChooser" name="serverStartScript"/> + </item> + <item row="5" column="0"> + <widget class="QLabel" name="serverStartScriptLabel"> + <property name="text"> + <string>Server start script:</string> + </property> + </widget> + </item> + <item row="4" column="0"> <widget class="QLabel" name="useServerStartScriptLabel"> <property name="text"> <string>Use server start script:</string> </property> </widget> </item> - <item row="3" column="1"> - <widget class="Utils::PathChooser" name="serverStartScript" native="true"/> - </item> - <item row="3" column="0"> - <widget class="QLabel" name="serverStartScriptLabel"> + <item row="2" column="0"> + <widget class="QLabel" name="sysrootLabel"> <property name="text"> - <string>Server start script:</string> + <string>Sysroot:</string> </property> </widget> </item> + <item row="2" column="1"> + <widget class="Utils::PathChooser" name="sysrootPathChooser"/> + </item> </layout> </item> <item> -- GitLab