aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/valgrind/valgrindprocess.cpp
Commit message (Collapse)AuthorAgeFilesLines
* TaskTree: Switch to qt-ified QtTaskTreeJarek Kobus2025-10-311-9/+9
| | | | | | | Remove the old Tasking lib. Change-Id: Iacb4939cc873e25d6039efae7dd23510a7baa5f9 Reviewed-by: hjk <hjk@qt.io>
* TaskTree: Rename TaskTreeRunner into SingleTaskTreeRunnerJarek Kobus2025-08-121-2/+2
| | | | | | | | Introduce AbstractTaskTreeRunner base class. Add a test for SingleTaskTreeRunner. Change-Id: I344aa8545f62f9e2e8fbbb741205d61ebbfe2d35 Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
* TaskTree: Rename barrier related classesJarek Kobus2025-07-011-2/+2
| | | | | | | | | | | | | Rename SharedBarrier into StartedBarrier and derive it directly from Barrier. The only difference to Barrier is that the default c'tor starts the barrier automatically. Rename MultiBarrier into StoredMultiBarrier and SingleBarrier into StoredBarrier, so that it's clear we are operating on Storage<>. Change-Id: Ia913d254d363aebd0783db2a532b95c5f4046170 Reviewed-by: hjk <hjk@qt.io>
* Valgrind: Fix process resultJarek Kobus2025-06-131-6/+8
| | | | | | | Don't emit signals when tasks were canceled. Change-Id: I5f209f5865571cd096ac09f21c83620019fdbadd Reviewed-by: hjk <hjk@qt.io>
* Valgrind: Move ValgrindProcess into Internal namespaceJarek Kobus2025-03-311-2/+2
| | | | | Change-Id: I0471e8d5e07d0c2678733acc18703c318fc99299 Reviewed-by: hjk <hjk@qt.io>
* Valgrind: Replace ProcessError with ProcessResultJarek Kobus2025-02-201-3/+3
| | | | | | | | | | This one includes the cancellation result, after calling Process::stop(). In this way we get rid of m_isStopping field. Change-Id: If29289dc6da88855951e2bb1cfebe82a2aa33cbf Reviewed-by: hjk <hjk@qt.io>
* ValgrindProcess: Fix showing callgrind results after red square buttonJarek Kobus2025-01-091-1/+9
| | | | | | | Amends b1304de6cf1bca02bc6a6447700aa425b1fb7627 Change-Id: I3e744e617d7224ccc243b666adc2b448ca9b6bda Reviewed-by: hjk <hjk@qt.io>
* Valgrind: Fix live data delivery for Memory AnalyzerJarek Kobus2024-10-041-1/+1
| | | | | | | | | Before, the parser was started after the analyzed process has already finished. Start the parser now in parallel with the analyzed process. Change-Id: I13c133f8322767525ac50be3efc86eed80165164 Reviewed-by: hjk <hjk@qt.io>
* ValgrindProcess: Inline setupValgrindProcessJarek Kobus2024-10-041-34/+31
| | | | | Change-Id: I60a15a82dcfccc9fb32e69970e7f84feed3adbfd Reviewed-by: hjk <hjk@qt.io>
* ValgrindProcess: Emit done() signal just onceJarek Kobus2024-10-041-9/+6
| | | | | Change-Id: Ifb2ea389257e5e8b394d038c226a3104c7c4bb03 Reviewed-by: hjk <hjk@qt.io>
* Valgrind: Use conditional APIJarek Kobus2024-07-031-13/+14
| | | | | Change-Id: I71e823e23fce0dd8663560df3967539797dc06e5 Reviewed-by: hjk <hjk@qt.io>
* Utils: Fix build with MSVC with C++20Eike Ziller2024-02-281-1/+1
| | | | | | | | | | | | | | | | | Rename process.h back to qtcprocess.h MSVC's "threads" standard header includes <process.h>, and that ends up including our process.h from Utils. There already was a hacky workaround in place for a similar issue with MINGW, but that doesn't work with MSVC because that doesn't have Simply use a name that doesn't conflict. Change-Id: I1159cd2096b4f2dbc4a1728d0131dd6edd30ebd3 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: hjk <hjk@qt.io>
* ValgrindProcess: Reuse TaskTreeRunnerJarek Kobus2024-01-151-11/+10
| | | | | | Change-Id: Iabe4894562d9a18609cb13ead922dd648fc8e259 Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: hjk <hjk@qt.io>
* TaskTree: Rename TreeStorage<> -> Storage<>Jarek Kobus2023-11-201-1/+1
| | | | | | | | This addresses the 20th point in the master task below. Task-number: QTCREATORBUG-28741 Change-Id: I696beda87430fbe637abba8054012fb77516e220 Reviewed-by: hjk <hjk@qt.io>
* TaskTree: Get rid of Storage subclass of GroupItemJarek Kobus2023-11-201-2/+2
| | | | | | | | | | | Make the c'tor of the GroupItem taking the TreeStorageBase public instead. This addresses the 20th point in the master task below. Task-number: QTCREATORBUG-28741 Change-Id: I78320ec24b4e4b915ab549135fb93b45c658b9f2 Reviewed-by: hjk <hjk@qt.io>
* TaskTree: Unify TaskInterface::done(DoneResult) signalJarek Kobus2023-11-171-4/+4
| | | | | | | | | | | | Change the argument of TaskInterface::done() signal from bool into DoneResult. Make it consistent with other TaskTree API. Introduce toDoneResult(bool success) helper. Change-Id: I7b3041d7c1ed0317c76adbc1fd37448231e85f82 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: hjk <hjk@qt.io>
* TaskTree: Rename StopWithDone -> StopWithSuccessJarek Kobus2023-11-071-1/+1
| | | | | | | | | | | | | Make naming consistent with recent changes. "Done" is meant to be an event name when the task / group finishes. "Done" may finish with "Success" or an "Error". This addresses the 26th point in the task below. Task-number: QTCREATORBUG-28741 Change-Id: I53ed6905b1c385c398f49e122e8ca60aa3ad0806 Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: hjk <hjk@qt.io>
* TaskTree: Unify done / errorOccurred signalsJarek Kobus2023-11-071-5/+3
| | | | | | | | | | Get rid of TaskTree::errorOccurred signal. Provide additional DoneResult arg for done signal. Task-number: QTCREATORBUG-29834 Change-Id: I31a3a0701a14246b01f65303a1295f014c855ecf Reviewed-by: hjk <hjk@qt.io> Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
* TaskTree: Introduce CallDoneIf enumJarek Kobus2023-11-071-1/+1
| | | | | | | | | | | Get rid of CustomTask c'tor taking 3 handlers. If the done handler needs to be called only on success or an error, add explicit 3rd arg of CallDoneIf type. Task-number: QTCREATORBUG-29834 Change-Id: I10e55415587e6cac46620dd5177ad8269584583c Reviewed-by: hjk <hjk@qt.io> Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
* Valgrind: Rename valgrindrunner.{cpp,h} -> valgrindprocess.{cpp.h}Jarek Kobus2023-08-171-0/+285
| | | | | Change-Id: I17f8e55ee97567b98f2260d1a79413bd26d02314 Reviewed-by: hjk <hjk@qt.io>
* Valgrind: Merge ValgrindRunner and ValgrindProcesshjk2017-06-301-235/+0
| | | | | | | There was a 1:1 matching remaining. Change-Id: I619bedcda867b642eab37396a0bd48bcb3a5829a Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Valgrind: Remove CallgrindController's use of ValgrindProcesshjk2017-06-291-12/+10
| | | | | | | | | | It's simply one-shot command execution, using (only some part of) the ValgrindProcess machinery that just happens to also to wrap a process is conceptually different from ValgrindProcess that "is" the valgrind-with-debuggee entity (and an unneeded dependency) Change-Id: I57a2c3d1cab6b15e59cb41b8e131948c170297b6 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Valgrind: Fix Memcheck startup on remote linuxhjk2017-06-281-161/+78
| | | | | | | Remote CallGrind is still dysfunctional. Change-Id: Ib9ab537dc068c94c7e61ac48b1a4b9d655ccb60f Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ProjectExplorer: Return a ProcessHandle for AppLauncher::applicationPIDhjk2017-03-101-1/+1
| | | | | Change-Id: I00fc4dbd3a3c022006de95087b61a86bbb83faeb Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* fix environment variables on remote valgrindVolker Vogelhuber2016-04-271-0/+3
| | | | | | Change-Id: I01836cf90d4d905d5edc859e110372a6e634a683 Reviewed-by: hjk <hjk@theqtcompany.com> Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
* Fix valgrind with remote Linux hosts.Christian Kandeler2016-04-261-0/+2
| | | | | | | | | This reverts commit f1ccad12dc and adds the necessary code to make both the local and the remote case work. Task-number: QTCREATORBUG-16153 Change-Id: I233ec9d7b31ca6e076515dd03ae7400758ee0c34 Reviewed-by: hjk <hjk@theqtcompany.com>
* Valgrind: Do not open a terminal for callgrind controlOrgad Shaneh2016-03-111-2/+2
| | | | | Change-Id: I22892d43abc341703a2d046dc1d3b9bf4b736394 Reviewed-by: hjk <hjk@theqtcompany.com>
* Valgrind: Remove MemcheckRunner::localHostAddressRetrieved() etchjk2016-02-031-2/+0
| | | | | | | | | It was only ever used to run second valgrindProcess()->setValgrindArguments (fullValgrindArguments()) in the memcheck tool which was already done in ValgrindRunner::start() Change-Id: I95a6005e2131eea25215f17cd0e7244a3d8df12e Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
* Valgrind: Use SshConnectionManager to handle connectionshjk2016-02-021-2/+9
| | | | | Change-Id: I15a985880cdd48b74524089492dc9a32f7448999 Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
* Valgrind: Simplify device setup and handlinghjk2016-02-021-7/+7
| | | | | | | | Make isLocal() less intrusively used and correct. Use the stored device more often, also handle errors more quickly. Change-Id: I146d1f5788ea79d0a9d7b058c81908d451cf00d0 Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
* Valgrind: Postpone the decision on whether its a local runhjk2016-02-021-6/+9
| | | | | | | | The decision is wrong anyway, no harm done. Move it closer to a location where it can be done correctly. Change-Id: I92de8ffec92cae6b3de3322d5045b696ae62932f Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
* Valgrind: Quickfix for remote execution.Christian Kandeler2016-01-291-0/+1
| | | | | | | | | | | | | | | Lots of stuff is still horribly broken due to the weird confusion between local/remote and "has project"/"does not have project" that crept in at some point, but this at least makes remote, project-specific memcheck work again. Still broken: - Remote callgrind - All remote valgrinds for external projects. - Local remote valgrind is not even available (anymore), as the respective menu entries have disappeared at some point. Change-Id: Iae6b60a0508d1b1b64fd0e0e5f776ea2c2e23598 Reviewed-by: hjk <hjk@theqtcompany.com>
* ProjectExplorer: Use StandardRunnable in ApplicationLauncherhjk2016-01-281-7/+7
| | | | | Change-Id: I7092d748207762d3dbd6c69c01cc06c88cbf63d8 Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
* Valgrind: Use StandardRunnable in ValgrindRunner and ValgrindProcesshjk2016-01-261-50/+20
| | | | | Change-Id: I17def50bbf6887b63d676fdb245064f1df2003de Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
* Update License according to agreement with Free Qt FoundationTobias Hunger2016-01-191-17/+12
| | | | | | | * Update files in src/plugins Change-Id: Ia5d77fad7d19d4bb3498e78661982f68729adb22 Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
* Merge commit '3c85058694ee2e41658d17f524fb48f0b187d2fe'Eike Ziller2015-02-121-6/+6
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/libs/utils/tooltip/tipcontents.cpp src/libs/utils/tooltip/tipcontents.h src/plugins/android/androiddeployqtstep.cpp src/plugins/baremetal/baremetalconstants.h src/plugins/baremetal/baremetaldevice.cpp src/plugins/baremetal/baremetaldevice.h src/plugins/baremetal/baremetaldeviceconfigurationwidget.cpp src/plugins/baremetal/baremetaldeviceconfigurationwidget.h src/plugins/baremetal/baremetaldeviceconfigurationwizard.cpp src/plugins/baremetal/baremetaldeviceconfigurationwizardpages.cpp src/plugins/baremetal/baremetaldeviceconfigurationwizardpages.h src/plugins/baremetal/baremetalplugin.cpp src/plugins/baremetal/baremetalplugin.h src/plugins/baremetal/baremetalruncontrolfactory.cpp src/plugins/baremetal/baremetalruncontrolfactory.h src/plugins/cppeditor/cppcodemodelinspectordialog.cpp src/plugins/cppeditor/cppdoxygen_test.cpp src/plugins/cppeditor/cppdoxygen_test.h src/plugins/debugger/breakpointmarker.cpp src/plugins/debugger/debuggeritemmodel.cpp src/plugins/debugger/debuggeritemmodel.h src/plugins/debugger/loadcoredialog.cpp src/plugins/genericprojectmanager/cppmodelmanagerhelper.cpp src/plugins/projectexplorer/addnewmodel.cpp src/plugins/projectexplorer/addnewmodel.h src/plugins/projectexplorer/jsonwizard/jsonfieldpage.cpp src/plugins/qmlprofiler/abstracttimelinemodel.cpp src/plugins/qmlprofiler/abstracttimelinemodel.h src/plugins/qmlprofiler/notesmodel.cpp src/plugins/qmlprofiler/qml/CategoryLabel.qml src/plugins/qmlprofiler/qml/MainView.qml src/plugins/qmlprofiler/qml/Overview.js src/plugins/qmlprofiler/qml/Overview.qml src/plugins/qmlprofiler/qml/TimeDisplay.qml src/plugins/qmlprofiler/qml/TimeMarks.qml src/plugins/qmlprofiler/qmlprofilertimelinemodelproxy.cpp src/plugins/qmlprofiler/sortedtimelinemodel.cpp src/plugins/qmlprofiler/sortedtimelinemodel.h src/plugins/qmlprofiler/timelinemodelaggregator.cpp src/plugins/qmlprofiler/timelinemodelaggregator.h src/plugins/qmlprofiler/timelinerenderer.cpp src/plugins/qmlprofiler/timelinerenderer.h src/plugins/qmlprojectmanager/QmlProjectManager.json.in src/plugins/texteditor/findinfiles.cpp src/plugins/vcsbase/vcsconfigurationpage.cpp src/shared/qbs src/shared/scriptwrapper/interface_wrap_helpers.h src/shared/scriptwrapper/wrap_helpers.h tests/auto/qmlprofiler/abstracttimelinemodel/tst_abstracttimelinemodel.cpp tests/system/suite_debugger/tst_debug_empty_main/test.py tests/system/suite_debugger/tst_qml_js_console/test.py tests/system/suite_debugger/tst_qml_locals/test.py Change-Id: I67540b648f8b162496f4aa606b04d50c7c9125c6
| * Update LicenseEike Ziller2015-01-161-6/+6
| | | | | | | | | | Change-Id: I711d5fb475ef814a1dc9d2822740e827f3f67125 Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
* | Valgrind: Port to Qt5-style connectOrgad Shaneh2015-02-091-25/+28
| | | | | | | | | | Change-Id: If5f36bb262b932b60133d4301ab614311ce1feee Reviewed-by: hjk <hjk@theqtcompany.com>
* | ProjectExplorer/Valgrind: Disambiguate signal nameOrgad Shaneh2015-02-091-2/+2
| | | | | | | | | | | | | | | | | | error => processError To make it easier to use Qt5-style connect Change-Id: Idfa987512ebb7d1c1c02d3cd01b2d05088cbf38a Reviewed-by: hjk <hjk@theqtcompany.com>
* | Replace QFileInfo::fileName() with FileName::fileName()Orgad Shaneh2015-01-291-5/+5
|/ | | | | Change-Id: I4852ff215abf25649fc5eac1e922ae901839ca3d Reviewed-by: hjk <hjk@theqtcompany.com>
* Valgrind: Avoid passing empty argumentOrgad Shaneh2014-11-031-1/+2
| | | | | Change-Id: Id0915718cb6b76c227ded0f418bf3c5aadcb9f35 Reviewed-by: hjk <hjk121@nokiamail.com>
* License updateEike Ziller2014-10-091-7/+8
| | | | | Change-Id: I3c22ef2685d7aa589f5d0ab74d693653a4c32082 Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
* Valgrind: Initialize member variableOrgad Shaneh2014-06-161-1/+3
| | | | | Change-Id: I0645e53dc010224a04a9bfe3a8eea34d360ac72d Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Valgrind: Fix passing multiple arguments to inferiorChristian Stenger2014-06-041-1/+1
| | | | | Change-Id: Iabed71d294e0d0a8775588da1fa2164ef39df455 Reviewed-by: hjk <hjk121@nokiamail.com>
* Valgrind: Don't use QString::fromLocal8Bit() on remote output.Christian Kandeler2014-05-121-2/+2
| | | | | | | | | Instead, assume UTF-8, which is very likely to be correct for a remote Linux system. Change-Id: I2976e2d79bf10d4db23f60f2c6c9fddffa58a9b7 Reviewed-by: Orgad Shaneh <orgads@gmail.com> Reviewed-by: hjk <hjk121@nokiamail.com>
* Valgrind: Support console applicationsOrgad Shaneh2014-05-081-35/+34
| | | | | | Task-number: QTCREATORBUG-7311 Change-Id: I973136076118fd8868c6cb461ad31e107c73566e Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Valgrind: Remove dialog asking for IP address.Christian Kandeler2014-05-081-10/+36
| | | | | | | | | | | When running the memcheck tool remotely, it sends its data via a TCP socket to the development host, so it needs to know that machine's IP address. The current code gathers all local network addresses and makes the user choose one of them. However, we can get that information from the SSH connection, so no user interaction is required. Change-Id: Ia61decddd5fa1e285ca143605d944d6d9275b3e4 Reviewed-by: hjk <hjk121@nokiamail.com>
* Valgrind: Minor cleanupOrgad Shaneh2014-05-061-2/+1
| | | | | Change-Id: I8457accbec28773de24d2921530a6c437de0d9ac Reviewed-by: hjk <hjk121@nokiamail.com>
* Valgrind: Use QString for processOutput signalOrgad Shaneh2014-05-051-2/+2
| | | | | Change-Id: I446f1a06b2c00280679dd09cd1818c1dd69c7e11 Reviewed-by: hjk <hjk121@nokiamail.com>
* Valgrind: Fix typo in signal-slot connection.Christian Kandeler2014-04-251-1/+1
| | | | | Change-Id: I2e206db3329c61ec2e46d37a93d1a542fe139759 Reviewed-by: hjk <hjk121@nokiamail.com>