aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/debugger/moduleshandler.cpp
Commit message (Collapse)AuthorAgeFilesLines
* DebuggerEngine: Get rid of virtual methodJarek Kobus2025-11-201-2/+7
| | | | | | | | Replace it with setter and getter and move impl into ModulesModel. Change-Id: I96c7fe75d2c52787b3909123b232e8fd2b2fd6a1 Reviewed-by: hjk <hjk@qt.io>
* Utils: Make helpers for stack view contents more widely availablehjk2025-03-241-1/+1
| | | | | | | | | | | ... and use them in other debugger views. This also gives a more central place where to put more functionality which we use to add an action to copy selected items into a new editor. Task-number: QTCREATORBUG-32626 Change-Id: I2d8b578d1ca377b9bda560f5cf5bdb083f37b451 Reviewed-by: David Schulz <david.schulz@qt.io>
* Debugger: Don't try to elf-read remote pathsMarcus Tillmanns2025-03-101-7/+12
| | | | | | | | | It takes way to long and blocks the main thread. Task-number: QTCREATORBUG-32562 Change-Id: I7f4fa5ea862ab5d82b1d355e79536da4b26e9038 Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io> Reviewed-by: hjk <hjk@qt.io>
* Debugger: Replace some uses of FilePath::toUrlishString()hjk2025-01-131-1/+1
| | | | | Change-Id: Iec777effda0b19b840b783606a01c804d42306a2 Reviewed-by: David Schulz <david.schulz@qt.io>
* Utils: Rename FilePath::toString() into toUrlishString()hjk2025-01-101-1/+1
| | | | | | | | | | | | | | | | toString() is almost always the wrong conversion, but unfortunately too easy to find and often even working at least for local setup. This here raises the bar as the non-availability of the "obvious" toString() hopefully helps people to think about the semantics of the needed conversion and choose the right toXXX() function. The chosen new name is intentional ugly to reduce the likelihood that this (still almost always wrong) function is used out of convenience. Change-Id: I57f1618dd95ef2629d7d978688d130275e096c0f Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Disambiguate translations for "None"Eike Ziller2025-01-061-1/+2
| | | | | | | | | Translations can be different depending on context. Give each usage a disambiguation text. Task-number: QTCREATORBUG-31978 Change-Id: I44ac524d7448787360e825fad1d430ded3f07659 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Utils: Add FilePath::isLocal() and use it instead of !needsDevice()hjk2024-12-091-1/+1
| | | | | | | | "needsDevice()" is an odd name, but keep it for now until downstream has caught up. Change-Id: I1fdb65d55e84e31512edb8f0bea8a0a3f7b2879c Reviewed-by: Marcus Tillmanns <marcus.tillmanns@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>
* Only download from remote when we absolutely have toDaniel Trevitz2023-11-071-1/+8
| | | | | | | | | | | | | If the kit includes a correctly configured sysroot gdbserver will tell us our hostPath. Respect that hostPath if it exists, otherwise fall back to remote debug. Also, populate the hostPath with the symbol file from the run parameters. Task-number: QTCREATORBUG-29614 Change-Id: I3838cd44aa96d7dfcd4ded660b8102a1532c5362 Reviewed-by: hjk <hjk@qt.io>
* Debugger: Adapt to latest settings access stylehjk2023-07-141-1/+1
| | | | | Change-Id: I14f737612b4fe6a37e650190b587ef0b04e559ea Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Utils: Rename qtcprocess.{cpp,h} -> process.{cpp,h}Jarek Kobus2023-05-041-1/+1
| | | | | | | | Follows QtcProcess -> Process rename. Change-Id: I97235a9a40cb7fd52944515b7ab878d96528f919 Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Utils: Rename QtcProcess -> ProcessJarek Kobus2023-05-041-1/+1
| | | | | | | | Task-number: QTCREATORBUG-29102 Change-Id: Ibc264f9db6a32206e4097766ee3f7d0b35225a5c 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>
* Debugger: enable dependency action only if we can find dependsDavid Schulz2023-03-231-3/+11
| | | | | Change-Id: I1f8c8d4108a1e3c6a03b93c9cf280c005806fc44 Reviewed-by: hjk <hjk@qt.io>
* Debugger: Use FilePath for Moduleshjk2023-03-141-13/+13
| | | | | | Change-Id: Ib3c8cf0de3560fdc77775460aa6282d69dbfef9e Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io> Reviewed-by: Orgad Shaneh <orgads@gmail.com>
* Debugger: Fix QString=>FilePathMarcus Tillmanns2023-03-141-4/+4
| | | | | Change-Id: I32128c7a47ab8bdd06237251c572be3d6a5df1d1 Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* Debugger: Adapt to change in FilePathChristian Stenger2023-01-181-1/+1
| | | | | Change-Id: I947f7c22bd59e445c94784fc50f29f6b571aad5a Reviewed-by: hjk <hjk@qt.io>
* Remove GPL-3.0+ from license identifiersKai Köhne2023-01-061-1/+1
| | | | | | | | | | | | | | | Since we also license under GPL-3.0 WITH Qt-GPL-exception-1.0, this applies only to a hypothetical newer version of GPL, that doesn't exist yet. If such a version emerges, we can still decide to relicense... While at it, replace (deprecated) GPL-3.0 with more explicit GPL-3.0-only Change was done by running find . -type f -exec perl -pi -e "s/LicenseRef-Qt-Commercial OR GPL-3.0\+ OR GPL-3.0 WITH Qt-GPL-exception-1.0/LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0/g" {} \; Change-Id: I5097e6ce8d10233993ee30d7e25120e2659eb10b Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Use SPDX license identifiersLucie Gérard2022-08-261-24/+2
| | | | | | | | | Replace the current license disclaimer in files by a SPDX-License-Identifier. Task-number: QTBUG-67283 Change-Id: I708fd1f9f2b73d60f57cc3568646929117825813 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Debugger: Convert to Tr::trhjk2022-07-081-43/+38
| | | | | Change-Id: I5d2475c790851c68f9997ac6af72b5eaca58482d Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* ProjectExplorer: Drop #include <qtcprocess.h> from runcontrol.hhjk2022-02-181-0/+1
| | | | | | | Recompiles only ~500 instead of ~630 after touching qtcprocess.h. Change-Id: If0256f27b2b9a1665cd76a65fedb7adb38a07bac Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
* Debugger: Use queued connection for menu actionsAaron Barany2022-02-071-9/+10
| | | | | | | | | | | | | | | | | | | Pass the parent calling object to the addAction() functions and use a queued connection. This prevents the following sequence of events: 1. The menu is dismissed when selecting a menu item. 2. The deletion gets queued via deleteLater(). 2. The onTriggered action gets invoked and opens a dialog box. 3. The dialog box triggers the events to be processed. 4. The menu is deleted when processing the events, while still in the event function to handle the dismissal. This only affected the watch menu since the others were leaked. Added cleanup handlers for the other debugger menus to avoid leaking them. Task-number: QTCREATORBUG-26989 Change-Id: Ifa2c52d7bea884c55d43fa545e3e2870301e4052 Reviewed-by: hjk <hjk@qt.io>
* Debugger: Make ElfReader work remotelyhjk2021-09-091-1/+1
| | | | | | | | | | This does not use the mmap optimization so it might turn out to be too expensive for large files and slow connections. For now it seems good enough for docker and normal test cases. Change-Id: I0ba09bdbd6aac977209494a33099479f1f8eec0a Reviewed-by: Christian Stenger <christian.stenger@qt.io> Reviewed-by: Orgad Shaneh <orgads@gmail.com>
* Use QtcProcessArtem Sokolovskii2021-08-251-1/+1
| | | | | Change-Id: Ie41a40534f231c68797205e4dd817f5e98963b07 Reviewed-by: hjk <hjk@qt.io>
* Debugger: Aspectify settingshjk2021-03-031-2/+1
| | | | | Change-Id: I527be79965250b82a0928171b17aa93bac9fa2a0 Reviewed-by: David Schulz <david.schulz@qt.io>
* Utils: Allow BaseTreeView users to hide columns manuallyhjk2020-11-101-1/+0
| | | | | | | | | | | | | ... using a context menu on the header views. Use the feature in the debugger views where it was previously un-intuitively available as part of the main context menu of the view, but not in the header. Task-number: QTCREATORBUG-24384 Change-Id: I3f030c3dd8ce35dc91bad921e37d2273bfe548b5 Reviewed-by: Eike Ziller <eike.ziller@qt.io> Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Utils: Start replacing SavedActions by QAction or Utils::Aspecthjk2020-10-051-1/+1
| | | | | | | | First mechanical step here is to derive SavedActions from BaseAspect instead of QAction. Change-Id: I2ec95883b825462c1d867f83cc2b3bd2c2732055 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Debugger: make Location::fileName a Utils::FilePathDavid Schulz2020-01-061-1/+1
| | | | | Change-Id: I637d39246ff576db1023f08c432a7f7b6aadbbaa Reviewed-by: hjk <hjk@qt.io>
* Debugger: Add ability to hide view columnshjk2019-12-131-1/+1
| | | | | | | | | | | Not perfect, e.g. one would probably expect the items to appear in the context menu of the header views, too, not just on the main background of the view, but better than nothing. Task-number: QTCREATORBUG-23342 Change-Id: Ifdc44dcfd390112faa7b15bb8a51d809e42d7b29 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Debugger: Fix a bugprone-branch-cloneNikolai Kosjar2019-11-011-3/+0
| | | | | | Change-Id: I7b9a3e416fa547de344dd5c4e111939200a7b824 Reviewed-by: Christian Stenger <christian.stenger@qt.io> Reviewed-by: hjk <hjk@qt.io>
* TreeView: Fix mapping to source models in case ProxyModels are involvedhjk2019-04-021-1/+1
| | | | | | | Visible e.g. in context menu handling of the debugger's module view. Change-Id: I342ed262c9e3dcdf98590003a7930cb8ef4ca0d2 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Debugger: Code cosmeticshjk2018-05-311-1/+1
| | | | | | | Sprinkling in const and ranged for. Change-Id: I5d11d57f64140021397c23734c7373544ebebb6f Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Debugger: Fix memory leak of ModulesModelHannes Domani2018-01-031-0/+5
| | | | | Change-Id: I79f13ca747aefbbf6f2b518aa7c14b6082373af1 Reviewed-by: hjk <hjk@qt.io>
* Drop unused variables and lambda capturesUlf Hermann2017-09-081-1/+1
| | | | | | | | | Also, add context to connect() expressions where we are or were capturing "this". Change-Id: I6e006ba6f83d532478018550d148ee93eca59605 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io> Reviewed-by: hjk <hjk@qt.io>
* Debugger: Fix removing items from modules modelDavid Schulz2017-07-181-1/+2
| | | | | Change-Id: Icce09b890e9a4a5cca142ee5307fd6f42bd5c839 Reviewed-by: hjk <hjk@qt.io>
* Remove spaces in initializer listsTim Jenssen2017-02-221-1/+1
| | | | | | | Format initializer lists code style like. Change-Id: Ib82c235e4ba7dc75ee96a7abc0c47eff7b0a9013 Reviewed-by: hjk <hjk@qt.io>
* Debugger: Re-enable Moduleshandler context menu also below entrieshjk2016-09-201-37/+52
| | | | | Change-Id: I2e8cb9289770b46145de0850d15b4124aa5a1536 Reviewed-by: hjk <hjk@qt.io>
* Utils: Streamline TreeModel APIhjk2016-07-271-4/+4
| | | | | | | | | | | | | | The LeveledTreeModel case is general enough to cover the UniformTreeModel case, so merge them and rename to TreeModel. The former TreeModel is now BaseTreeModel. BaseTreeModels should not be instantiated directly, a tree model with non-uniform basic items is available as TreeModel<>. Done-with: Eike Ziller <eike.ziller@qt.io> Change-Id: I64a65617ab68c0cde39cf65f4bc092ef808ee6fb Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Debugger: Remove some uses of semi-global currentEngine()hjk2016-07-181-82/+144
| | | | | | | | | | Make use of recent TreeModel improvements in various tool views, push more operations into the engine- owned data models, specifically context menu creation. Change-Id: I479c97102b9fb81611c6461c6df1cec59295179a Reviewed-by: Christian Stenger <christian.stenger@qt.io> Reviewed-by: hjk <hjk@qt.io>
* TreeModel: Consolidate child()/childAt() and rowCount()/childCount()hjk2016-07-071-8/+8
| | | | | | | | We never used the possibility to overload the virtual child() and rowCount() functions, it's unlikely to be needed in future. Change-Id: I7ebdf4dfc70bb0bcadea9ef3fb88f16632a95696 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* TreeModel: Introduce a destroyItem() convenience functionhjk2016-07-061-2/+2
| | | | | | | Shorthand for delete takeItem(...). Change-Id: Icb7b60e5c19aa0d21650eefff65f7eb55e9f90b0 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* 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>
* Debugger: Delete pointer if no more neededChristian Stenger2015-06-161-2/+2
| | | | | | | Introduced with 2b19081cb0840fe9e8d467e7905fbefb680858e1 Change-Id: I817ec48b9098f46ca703a6075d4657f0b7eb9948 Reviewed-by: hjk <hjk@theqtcompany.com>
* TreeModel: More API cleanuphjk2015-04-221-3/+3
| | | | | | | | | | | - introduce topLevelItemCount (similar to QTreeWidget) - squash untypedTreeLevelItems() - rename removeItems() to clear() - rename removeItem() to takeItem() - rename treeLevelItems<> to itemsAtLevel<> Change-Id: I0f1bb4110f7687b20da3d92e3d943858645a9fa2 Reviewed-by: Eike Ziller <eike.ziller@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>
* | TreeModel: (Partially) separate header data from root itemhjk2015-01-211-2/+1
| | | | | | | | | | | | | | | | Full separation does not seem possible as QTreeView assumes all items to have equal column count. Change-Id: Ia260924fe13ea62789923af8484f9838295355b6 Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
* | TreeModel: Add model pointer to TreeItemhjk2015-01-151-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | ... and use the items themselves as main entry point for item related operations. With non-uniform tree items it's easier to have item specific functionality directly in the item implementation instead of the model. Change-Id: I4e9b7db98d16b91ddef81917417691129bb83621 Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
* | Debugger: Use TreeModel for ModulesHandlerhjk2015-01-141-203/+163
|/ | | | | Change-Id: I831f71e7441330e2a6a7f3ddcf89a29517b3b91b Reviewed-by: hjk <hjk@theqtcompany.com>
* License updateEike Ziller2014-10-091-7/+8
| | | | | Change-Id: I3c22ef2685d7aa589f5d0ab74d693653a4c32082 Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
* Debugger: Fix typoTakumi Asaki2014-01-091-2/+2
| | | | | Change-Id: I5fef982763b791dfd2aa117babb8dde9ae54111e Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>