aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorhjk <hjk@qt.io>2019-06-12 14:25:34 +0200
committerhjk <hjk@qt.io>2019-06-17 08:44:02 +0000
commite3aa5a06584af0d9af36154c1b3f34cd2b043587 (patch)
tree3de212eb6b4b86b71e5e4ad8067513002aaaad7b
parentb508eac2a502cd4b21056eeadb4e7fea54ed0873 (diff)
Valgrind: Use more Utils::CommandLine
Change-Id: I044869c1b3cc061b2ad61de82832fb42cdcf4fd8 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
-rw-r--r--src/plugins/valgrind/valgrindrunner.cpp27
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);