diff options
author | BogDan Vatra <[email protected]> | 2012-04-18 20:30:57 +0300 |
---|---|---|
committer | Daniel Teske <[email protected]> | 2012-04-24 12:25:40 +0200 |
commit | 50e8f7bb7be503a922986a74e386f5ad4df22736 (patch) | |
tree | 80c94d097c7c5efde2fe78b22c8d1370d81fbe73 /src/plugins/debugger | |
parent | cf4ecad4bc20f246e1c67047b158ac2fe799183b (diff) |
Android plugin
Change-Id: Iad58914f067a6ef6d3412ccd42f757d821e39e45
Reviewed-by: Alessandro Portale <[email protected]>
Diffstat (limited to 'src/plugins/debugger')
-rw-r--r-- | src/plugins/debugger/debuggerstartparameters.h | 1 | ||||
-rw-r--r-- | src/plugins/debugger/debuggertoolchaincombobox.cpp | 2 | ||||
-rw-r--r-- | src/plugins/debugger/gdb/gdbengine.cpp | 4 | ||||
-rw-r--r-- | src/plugins/debugger/gdb/remotegdbserveradapter.cpp | 12 |
4 files changed, 13 insertions, 6 deletions
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()); |