forked from qt-creator/qt-creator
Valgrind: Use more Utils::CommandLine
Change-Id: I044869c1b3cc061b2ad61de82832fb42cdcf4fd8 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
@@ -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);
|
||||
|
Reference in New Issue
Block a user