diff --git a/src/plugins/valgrind/valgrindengine.cpp b/src/plugins/valgrind/valgrindengine.cpp index 6f1fc91be96..a5d77b33fad 100644 --- a/src/plugins/valgrind/valgrindengine.cpp +++ b/src/plugins/valgrind/valgrindengine.cpp @@ -36,6 +36,8 @@ #include #include +#include +#include #include #include #include @@ -77,7 +79,12 @@ void ValgrindToolRunner::start() emit outputReceived(tr("Command line arguments: %1").arg(runnable().debuggeeArgs), LogMessageFormat); #endif - CommandLine valgrind{m_settings.valgrindExecutable.filePath()}; + + FilePath valgrindExecutable = m_settings.valgrindExecutable.filePath(); + if (IDevice::ConstPtr dev = DeviceKitAspect::device(runControl()->kit())) + valgrindExecutable = dev->filePath(valgrindExecutable.path()); + + CommandLine valgrind{valgrindExecutable}; valgrind.addArgs(m_settings.valgrindArguments.value(), CommandLine::Raw); valgrind.addArgs(genericToolArguments()); valgrind.addArgs(toolArguments()); diff --git a/src/plugins/valgrind/valgrindrunner.cpp b/src/plugins/valgrind/valgrindrunner.cpp index d97eb20a901..ec817b1f61b 100644 --- a/src/plugins/valgrind/valgrindrunner.cpp +++ b/src/plugins/valgrind/valgrindrunner.cpp @@ -79,7 +79,8 @@ public: bool ValgrindRunner::Private::run() { - CommandLine cmd{m_device->mapToGlobalPath(m_valgrindCommand.executable())}; + CommandLine cmd; + cmd.setExecutable(m_valgrindCommand.executable()); if (!localServerAddress.isNull()) { if (!q->startServers())