summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhjk <hjk@qt.io>2017-09-07 17:47:22 +0200
committerhjk <hjk@qt.io>2017-09-13 10:09:28 +0000
commit360609eb7abe93c477ab410eb8ab511fdb98f9f9 (patch)
tree14e072f88891a2a851451cfd12e74b400af0a0e0
parent2cc0f27589c44772f8aaf2b4382e8b48666f31bb (diff)
downloadqt-creator-360609eb7abe93c477ab410eb8ab511fdb98f9f9.tar.gz
Debugger: Add to solib-search-path, don't replace it
Task-number: QTCREATORBUG-18812 Change-Id: I0fb8d81d55e9928bd3825c510a11ab426ec082c6 Reviewed-by: Orgad Shaneh <orgads@gmail.com>
-rw-r--r--share/qtcreator/debugger/gdbbridge.py5
-rw-r--r--src/plugins/debugger/gdb/remotegdbserveradapter.cpp9
2 files changed, 11 insertions, 3 deletions
diff --git a/share/qtcreator/debugger/gdbbridge.py b/share/qtcreator/debugger/gdbbridge.py
index 17719ac77b..16a11929db 100644
--- a/share/qtcreator/debugger/gdbbridge.py
+++ b/share/qtcreator/debugger/gdbbridge.py
@@ -1054,6 +1054,11 @@ class Dumper(DumperBase):
cmd = 'set variable (%s)=%s' % (expr, value)
gdb.execute(cmd)
+ def appendSolibSearchPath(self, args):
+ new = list(map(self.hexdecode, args['path']))
+ old = [gdb.parameter('solib-search-path')]
+ gdb.execute('set solib-search-path %s' % args['separator'].join(old + new))
+
def watchPoint(self, args):
self.reportToken(args)
ns = self.qtNamespace()
diff --git a/src/plugins/debugger/gdb/remotegdbserveradapter.cpp b/src/plugins/debugger/gdb/remotegdbserveradapter.cpp
index cf55a82dc6..20dfce0261 100644
--- a/src/plugins/debugger/gdb/remotegdbserveradapter.cpp
+++ b/src/plugins/debugger/gdb/remotegdbserveradapter.cpp
@@ -167,9 +167,12 @@ void GdbRemoteServerEngine::setupInferior()
// if (!remoteArch.isEmpty())
// postCommand("set architecture " + remoteArch);
- const QString solibSearchPath = rp.solibSearchPath.join(HostOsInfo::pathListSeparator());
- if (!solibSearchPath.isEmpty())
- runCommand({"set solib-search-path " + solibSearchPath});
+ if (!rp.solibSearchPath.isEmpty()) {
+ DebuggerCommand cmd("appendSolibSearchPath");
+ cmd.arg("path", rp.solibSearchPath);
+ cmd.arg("separator", HostOsInfo::pathListSeparator());
+ runCommand(cmd);
+ }
if (!args.isEmpty())
runCommand({"-exec-arguments " + args});