diff options
author | hjk <hjk@qt.io> | 2017-09-07 17:47:22 +0200 |
---|---|---|
committer | hjk <hjk@qt.io> | 2017-09-13 10:09:28 +0000 |
commit | 360609eb7abe93c477ab410eb8ab511fdb98f9f9 (patch) | |
tree | 14e072f88891a2a851451cfd12e74b400af0a0e0 | |
parent | 2cc0f27589c44772f8aaf2b4382e8b48666f31bb (diff) | |
download | qt-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.py | 5 | ||||
-rw-r--r-- | src/plugins/debugger/gdb/remotegdbserveradapter.cpp | 9 |
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}); |