diff options
author | hjk <hjk@qt.io> | 2019-06-12 14:25:34 +0200 |
---|---|---|
committer | hjk <hjk@qt.io> | 2019-06-17 08:44:02 +0000 |
commit | e3aa5a06584af0d9af36154c1b3f34cd2b043587 (patch) | |
tree | 3de212eb6b4b86b71e5e4ad8067513002aaaad7b | |
parent | b508eac2a502cd4b21056eeadb4e7fea54ed0873 (diff) |
Valgrind: Use more Utils::CommandLine
Change-Id: I044869c1b3cc061b2ad61de82832fb42cdcf4fd8
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
-rw-r--r-- | src/plugins/valgrind/valgrindrunner.cpp | 27 |
1 files changed, 13 insertions, 14 deletions
diff --git a/src/plugins/valgrind/valgrindrunner.cpp b/src/plugins/valgrind/valgrindrunner.cpp index 827e2c2b4e..db91d0edbf 100644 --- a/src/plugins/valgrind/valgrindrunner.cpp +++ b/src/plugins/valgrind/valgrindrunner.cpp @@ -82,17 +82,17 @@ public: bool ValgrindRunner::Private::run() { - QStringList arguments; + CommandLine cmd{FilePath::fromString(m_valgrindExecutable)}; if (!localServerAddress.isNull()) { if (!q->startServers()) return false; - arguments.append("--child-silent-after-fork=yes"); + cmd.addArg("--child-silent-after-fork=yes"); bool enableXml = !disableXml; - auto handleSocketParameter = [&enableXml, &arguments](const QString &prefix, const QTcpServer &tcpServer) + auto handleSocketParameter = [&enableXml, &cmd](const QString &prefix, const QTcpServer &tcpServer) { QHostAddress serverAddress = tcpServer.serverAddress(); if (serverAddress.protocol() != QAbstractSocket::IPv4Protocol) { @@ -101,8 +101,8 @@ bool ValgrindRunner::Private::run() qWarning("Need IPv4 for valgrind"); enableXml = false; } else { - arguments << QString("%1=%2:%3").arg(prefix).arg(serverAddress.toString()) - .arg(tcpServer.serverPort()); + cmd.addArg(QString("%1=%2:%3").arg(prefix).arg(serverAddress.toString()) + .arg(tcpServer.serverPort())); } }; @@ -110,9 +110,9 @@ bool ValgrindRunner::Private::run() handleSocketParameter("--log-socket", logServer); if (enableXml) - arguments << "--xml=yes"; + cmd.addArg("--xml=yes"); } - arguments += m_valgrindArguments; + cmd.addArgs(m_valgrindArguments); m_valgrindProcess.setProcessChannelMode(channelMode); // consider appending our options last so they override any interfering user-supplied options @@ -138,18 +138,17 @@ bool ValgrindRunner::Private::run() if (HostOsInfo::isMacHost()) // May be slower to start but without it we get no filenames for symbols. - arguments << "--dsymutil=yes"; - arguments << m_debuggee.executable; + cmd.addArg("--dsymutil=yes"); + cmd.addArg(m_debuggee.executable); + cmd.addArgs(m_debuggee.commandLineArguments, CommandLine::Raw); + + emit q->valgrindExecuted(cmd.toUserOutput()); Runnable valgrind; - valgrind.executable = m_valgrindExecutable; + valgrind.setCommandLine(cmd); valgrind.workingDirectory = m_debuggee.workingDirectory; valgrind.environment = m_debuggee.environment; valgrind.device = m_device; - valgrind.commandLineArguments = QtcProcess::joinArgs(arguments, m_device->osType()); - Utils::QtcProcess::addArgs(&valgrind.commandLineArguments, m_debuggee.commandLineArguments); - emit q->valgrindExecuted(QtcProcess::quoteArg(valgrind.executable) + ' ' - + valgrind.commandLineArguments); if (m_device->type() == ProjectExplorer::Constants::DESKTOP_DEVICE_TYPE) m_valgrindProcess.start(valgrind); |