From 50e8f7bb7be503a922986a74e386f5ad4df22736 Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Wed, 18 Apr 2012 20:30:57 +0300 Subject: Android plugin Change-Id: Iad58914f067a6ef6d3412ccd42f757d821e39e45 Reviewed-by: Alessandro Portale --- src/plugins/debugger/debuggerstartparameters.h | 1 + src/plugins/debugger/debuggertoolchaincombobox.cpp | 2 +- src/plugins/debugger/gdb/gdbengine.cpp | 4 ++-- src/plugins/debugger/gdb/remotegdbserveradapter.cpp | 12 +++++++++--- 4 files changed, 13 insertions(+), 6 deletions(-) (limited to 'src/plugins/debugger') diff --git a/src/plugins/debugger/debuggerstartparameters.h b/src/plugins/debugger/debuggerstartparameters.h index 513bdea8e1b..4f5ba16ba2a 100644 --- a/src/plugins/debugger/debuggerstartparameters.h +++ b/src/plugins/debugger/debuggerstartparameters.h @@ -126,6 +126,7 @@ public: ProjectExplorer::Abi toolChainAbi; QString dumperLibrary; + QStringList solibSearchPath; QStringList dumperLibraryLocations; DebuggerStartMode startMode; DebuggerCloseMode closeMode; diff --git a/src/plugins/debugger/debuggertoolchaincombobox.cpp b/src/plugins/debugger/debuggertoolchaincombobox.cpp index d5c1e1d1855..32a0eeb5bb9 100644 --- a/src/plugins/debugger/debuggertoolchaincombobox.cpp +++ b/src/plugins/debugger/debuggertoolchaincombobox.cpp @@ -60,7 +60,7 @@ void DebuggerToolChainComboBox::init(bool hostAbiOnly) const ProjectExplorer::Abi hostAbi = ProjectExplorer::Abi::hostAbi(); foreach (const ProjectExplorer::ToolChain *tc, ProjectExplorer::ToolChainManager::instance()->toolChains()) { const ProjectExplorer::Abi abi = tc->targetAbi(); - if (!hostAbiOnly || hostAbi.os() == abi.os()) { // Offer MSVC and Mingw, etc. + if (!hostAbiOnly || hostAbi.isCompatibleWith(abi)) { const QString debuggerCommand = tc->debuggerCommand().toString(); if (!debuggerCommand.isEmpty()) { const AbiDebuggerCommandPair data(abi, debuggerCommand); diff --git a/src/plugins/debugger/gdb/gdbengine.cpp b/src/plugins/debugger/gdb/gdbengine.cpp index 52e8bb79403..041a5f038e9 100644 --- a/src/plugins/debugger/gdb/gdbengine.cpp +++ b/src/plugins/debugger/gdb/gdbengine.cpp @@ -5294,8 +5294,8 @@ bool GdbEngine::usesExecInterrupt() const // debuggerCore()->boolSetting(TargetAsync) DebuggerStartMode mode = startParameters().startMode; - return mode == AttachToRemoteServer - || mode == AttachToRemoteProcess; + return (mode == AttachToRemoteServer + || mode == AttachToRemoteProcess) && debuggerCore()->boolSetting(TargetAsync); } void GdbEngine::scheduleTestResponse(int testCase, const QByteArray &response) diff --git a/src/plugins/debugger/gdb/remotegdbserveradapter.cpp b/src/plugins/debugger/gdb/remotegdbserveradapter.cpp index 33fa272c1e1..0d17595cfc0 100644 --- a/src/plugins/debugger/gdb/remotegdbserveradapter.cpp +++ b/src/plugins/debugger/gdb/remotegdbserveradapter.cpp @@ -164,7 +164,11 @@ void RemoteGdbServerAdapter::setupInferior() { QTC_ASSERT(state() == InferiorSetupRequested, qDebug() << state()); const DebuggerStartParameters &sp = startParameters(); - +#ifdef Q_OS_WIN + #define PATHSEP ";" +#else + #define PATHSEP ":" +#endif QString fileName; if (!sp.executable.isEmpty()) { QFileInfo fi(sp.executable); @@ -175,6 +179,7 @@ void RemoteGdbServerAdapter::setupInferior() const QByteArray gnuTarget = sp.gnuTarget.toLatin1(); const QByteArray searchPath = startParameters().searchPath.toLocal8Bit(); const QString args = sp.processArgs; + const QString solibSearchPath = startParameters().solibSearchPath.join(QLatin1String(PATHSEP)); if (!remoteArch.isEmpty()) m_engine->postCommand("set architecture " + remoteArch); @@ -186,8 +191,9 @@ void RemoteGdbServerAdapter::setupInferior() // relocate the most likely place for the debug source m_engine->postCommand("set substitute-path /usr/src " + sysroot + "/usr/src"); } - if (!searchPath.isEmpty()) - m_engine->postCommand("set solib-search-path " + searchPath); + if (!solibSearchPath.isEmpty()) + m_engine->postCommand("set solib-search-path " + solibSearchPath.toLocal8Bit()); + if (!args.isEmpty()) m_engine->postCommand("-exec-arguments " + args.toLocal8Bit()); -- cgit v1.2.3