summaryrefslogtreecommitdiff
path: root/src/plugins/debugger/breakhandler.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Utils: Unify CheckableMessageBox and make it look more nativeMarcus Tillmanns2023-05-171-8/+9
| | | | | | Change-Id: I5690c16f38cfd2058e01441283bec28d44cadf75 Reviewed-by: Eike Ziller <eike.ziller@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Debugger: Use more FilePath in source file handlinghjk2023-03-151-2/+2
| | | | | | | | | | Needed for the double-remote case. With this we have proper breakpoint markers in the text editor for a remotely running gdb on a remotely loaded project. Change-Id: If80e4a4108a4a0bcdd7612a59e2bd695213f5ea5 Reviewed-by: Orgad Shaneh <orgads@gmail.com>
* TextEditor: Some fileName -> filePath renaminghjk2023-02-081-7/+7
| | | | | | Change-Id: Id0751f936666fa658226d62a1906b82e3bac1660 Reviewed-by: David Schulz <david.schulz@qt.io> Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
* Editor: Allow to hide annotations for a group of text marksDavid Schulz2023-01-121-2/+8
| | | | | | | | | The hiding is not persistent, so on the next Qt Creator start all annotations are visible again. This is meant to quickly get rid of annotations if there are to many irrelevant of a specific kind. Change-Id: I4862e56e0f5624f30aadda26efc9dea672ab1f57 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Utils: Rename most FilePath::{from,to}Variant uses to {from,to}Settingshjk2023-01-101-2/+2
| | | | | | | | Specifies the main purpose more clearly. The remaining ones a "true" (internal) variants in models and as action data. Change-Id: I8dd3c846e419f29d88283c2f48268ef6685b19fe Reviewed-by: Eike Ziller <eike.ziller@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>
* Debugger: Remove DebuggerCommand::arg(FilePath)hjk2022-11-171-1/+1
| | | | | | | | | It's better when the user code has to be explicit in what format and/or which parts of the FilePath is needed. Change-Id: I9d70e073f853a1bbc47c8482ebe77d7c4612b4b7 Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io> Reviewed-by: hjk <hjk@qt.io>
* Port from qAsConst() to std::as_const()Marc Mutz2022-10-071-1/+1
| | | | | | | | | | | | | | We've been requiring C++17 since Qt 6.0, and our qAsConst use finally starts to bother us (QTBUG-99313), so time to port away from it now. Since qAsConst has exactly the same semantics as std::as_const (down to rvalue treatment, constexpr'ness and noexcept'ness), there's really nothing more to it than a global search-and-replace. Task-number: QTBUG-99313 Change-Id: I88edd91395849574436299b8badda21bb93bea39 Reviewed-by: hjk <hjk@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>
* Drop Qt5: Debugger: Get rid of QOverloadJarek Kobus2022-07-201-2/+1
| | | | | | Change-Id: Ic62a3173adeffdfa78a47849cf1ceaa4f59b8091 Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Debugger: Convert to Tr::trhjk2022-07-081-163/+159
| | | | | Change-Id: I5d2475c790851c68f9997ac6af72b5eaca58482d Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Remove algorithm.h from buildtargetinfo.hJarek Kobus2022-05-181-0/+1
| | | | | | | Change-Id: I777212fb94d46c1c71f017288b7e38dd5db62a91 Reviewed-by: Cristian Adam <cristian.adam@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
* Debugger: Use queued connection for menu actionsAaron Barany2022-02-071-13/+15
| | | | | | | | | | | | | | | | | | | 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: Introduce a Ctrl-F9 shortcut to enable/disable breakpointshjk2022-01-041-1/+10
| | | | | | | | | | Since "toggle" now becomes ambiguous, change "Toggle Breakpoint" to "Set or Remove Breakpoint" and add a new "Enable or Disable Breakpoint" Fixes: QTCREATORBUG-26788 Change-Id: I7902308298570360af202fced90bf44fc1a59adb Reviewed-by: David Schulz <david.schulz@qt.io>
* Replace some PathChooser::setFile with setFilePathhjk2021-09-131-1/+1
| | | | | Change-Id: I9a135e27d97b6706ea199b60a0b0b28838c77dcc Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Fix a number of compiler warningsChristian Kandeler2021-07-121-2/+2
| | | | | Change-Id: I3e71bffb2099d896742a6fca77febe20e2076464 Reviewed-by: hjk <hjk@qt.io>
* remove some unneeded FilePath::toFileInfoDavid Schulz2021-06-041-2/+2
| | | | | Change-Id: I6e6e5906d8c2ca972e98733d06d40fddc68865de Reviewed-by: hjk <hjk@qt.io>
* Core: Add FilePath based overloads to EditorManager::openEditor{,at}hjk2021-05-251-2/+2
| | | | | | | | | | Part of the overall FilePath migration. Keep the original version for a while to allow using code to catch up. Change-Id: Ia7c5ea14416a06e679e8661c0e4045981db87b9b Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: David Schulz <david.schulz@qt.io> Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Debugger: Aspectify settingshjk2021-03-031-8/+7
| | | | | Change-Id: I527be79965250b82a0928171b17aa93bac9fa2a0 Reviewed-by: David Schulz <david.schulz@qt.io>
* Add gdb tracepoint support for LinuxMattias Johansson2021-02-021-4/+2
| | | | | Change-Id: Id2e46bae576a730f8c1b64a247aeed12e6d721af Reviewed-by: hjk <hjk@qt.io>
* Debugger: Mark currently hit breakpoint in breakpoint viewhjk2021-01-071-3/+37
| | | | | | Fixes: QTCREATORBUG-6999 Change-Id: I2b080de0096d1e2bc5b348666adcf4797589fe15 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Debugger: Fix editing breakpoints via breakpoints viewMichael Weghorn2020-12-041-4/+27
| | | | | | | | | | | | | | | | | | | As the comment for the 'm_parameters' member in the 'BreakpointItem' class says, that member is supposed to hold the "Parameters acknowledged by engine", which the parameters newly set in the dialog are not yet at this point in time. Therefore, if a global breakpoint exists, apply the new parameters there, so they are considered as pending changes (also returned by 'Breakpoint::requestedParameters') when 'BreakHandler::requestBreakpointUpdate' is called a few lines below, and new values get applied properly. Task-number: QTCREATORBUG-25035 Change-Id: I8bfd9123785ee911ff180d8311fa2559b55be580 Reviewed-by: hjk <hjk@qt.io>
* Utils: Allow BaseTreeView users to hide columns manuallyhjk2020-11-101-2/+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>
* Debugger: Fix breakpoint enablingDavid Schulz2020-10-301-3/+2
| | | | | Change-Id: I496d0b90dd572d4f4949c98d5abe035edfba8d19 Reviewed-by: hjk <hjk@qt.io>
* Utils: Start replacing SavedActions by QAction or Utils::Aspecthjk2020-10-051-4/+4
| | | | | | | | 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: Fix enabling/disabling breakpointshjk2020-09-251-0/+1
| | | | | | Fixes: QTCREATORBUG-24669 Change-Id: Id468f57df7978aab6b888d3a026c578b172f2f0e Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Debugger: Use new TextMark interface for Breakpointhjk2020-09-241-29/+6
| | | | | | | Simplifies usage. Change-Id: I0df50fe703b2b67ead7f2e35b3a3952fa6d91dab Reviewed-by: David Schulz <david.schulz@qt.io>
* Debugger: Update breakpoint marker tooltip on enable/disablehjk2020-09-241-0/+2
| | | | | Change-Id: I5166e58f038afc373a7baae22b85f7d93e25a583 Reviewed-by: David Schulz <david.schulz@qt.io>
* Core: ProcessReaper code cosmeticshjk2020-09-111-7/+8
| | | | | | | | | | | - Rename ReaperPrivate to ProcessReapers - drop the used ProcessReaper::m_futureInterface - sprinkle some private and final - remove unnecessary Q_OBJECT - remove unnecessary #include, fix accidental user Change-Id: I2787815975dc80cb93db2132bbfe7ce9a74ebd5f Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Debugger: Fix crash when trying to remove all breakpoints of a filehjk2020-08-121-2/+3
| | | | | | Change-Id: Iea4478804be7b32a2da924e1163c5c4944c6e8a4 Fixes: QTCREATORBUG-24306 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Fix clang 10 warnings about unnecessary copies in range loopsChristian Kandeler2020-05-121-1/+1
| | | | | Change-Id: I3b57869b5a04528518bc432b76768b01e3f53e81 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Debugger: Start breakpoint manipulation syncronouslyhjk2020-05-071-3/+3
| | | | | | | | | | | | The original reason for this was gdb's inability to set certain break point properties in one go (commands and so parts of the setup are async anyway, and using only async paths made the overall setup simpler. The need to tweak some properties asyncronously still remains, but for the caller side it's better when at least the initial round is synchronous. Change-Id: Ibe542533a6026c7f0f4e49f4244b7e9d2aea7062 Reviewed-by: David Schulz <david.schulz@qt.io>
* Debugger: Handle failed breakpoints as unclaimedhjk2020-04-241-0/+5
| | | | | | Change-Id: I02a44db5391b174e75fc326ce217b271ee73c464 Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Debugger: Some FileName cosmeticshjk2020-04-141-1/+1
| | | | | | | Use {from,to}Variant for settings, and one time fromUserInput is enough. Change-Id: I5774f425a4c775b0d78b87c60eabf7f48d78a082 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Utils: Replace FileChooser::path() by filePath().toString()hjk2020-04-091-1/+1
| | | | | | | | | | | Keep the old method for now to ease downstream porting. The change is kept mechanical, there's a lot of cleanup possible now on the user code side. Change-Id: I936baedd45b7ba057f1c789a1bec896886f48eff Reviewed-by: André Hartmann <aha_1980@gmx.de> Reviewed-by: Orgad Shaneh <orgads@gmail.com>
* Utils: Rename PathChooser::{f,setF}ileName() to {f,setF}ilePath()hjk2020-04-091-1/+1
| | | | | | | | | | It's returning a FilePath, so it's a better fit. Keep the old versions as inline function now to ease downstream migration. Change-Id: I535887928018f42b92895c8b0c82527f0d55e5ca Reviewed-by: Eike Ziller <eike.ziller@qt.io> Reviewed-by: André Hartmann <aha_1980@gmx.de>
* Merge remote-tracking branch 'origin/4.12'Eike Ziller2020-03-201-3/+3
|\ | | | | | | Change-Id: Ia8254720b2ba6e3e7b859017e1c2b6e289bed771
| * Debugger: Fix some breakpoint file name display breakagehjk2020-03-191-3/+3
| | | | | | | | | | | | | | | | | | | | For unclaimed breakpoints the wodking directory was shown as path. Amends commit a7dd0e50a28595eb976d77b1b23b8120b0a9395a. Change-Id: I9614b3672d32fb18e35dc98c12a60e3b27eebf84 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* | Add some additional shortcuts for actionsEike Ziller2020-03-171-2/+2
|/ | | | | | | | | | | | | | | | | Add Cmd+Shift+- for decreasing font size on macOS. Do not add Cmd+= for increasing size, because it conflicts with the existing shortcut for "Replace and Find Next". Sprinkle some Backspace shortcuts in addition to Delete for removing items. There are (laptop) keyboards that either do not have a designated Delete key (requiring Fn+Backspace) or where the Delete key is not conveniently located/sized, and there is no benefit in making the distinction in that case anyhow. Fixes: QTCREATORBUG-706 Fixes: QTCREATORBUG-13733 Change-Id: I06274a9810b82800ec6158a883c95d2a7ae2465e Reviewed-by: David Schulz <david.schulz@qt.io>
* Globally disable WindowContextHelpButtonHintKai Koehne2020-02-251-1/+0
| | | | | | | | | | | Do set the global application flag AA_DisableWindowContextHelpButton to avoid having to unset the default WindowContextHelpButtonHint in every single dialog. AA_DisableWindowContextHelpButton was added in Qt 5.10. Change-Id: I21fe8bc5ddfa4c01ec7a799b04bfb6ff1c9d6d86 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Debugger: Do not highlight global breakpoints in scrollbarDavid Schulz2020-01-091-1/+0
| | | | | | | | | | The color red is perceived as an error indicator. So only highlight breakpoints if they have been assigned to an engine to reduce the visual distraction. Fixes: QTCREATORBUG-23433 Change-Id: I852d94a7637c958c65c94acacc8233b6553bb612 Reviewed-by: hjk <hjk@qt.io>
* Debugger: make BreakpointParameters::fileName a Utils::FilePathDavid Schulz2020-01-061-67/+46
| | | | | | Task-number: QTCREATORBUG-23339 Change-Id: Ifc497c14589cd6df10d8219533e100f1919213b3 Reviewed-by: hjk <hjk@qt.io>
* Debugger: Add ability to hide view columnshjk2019-12-131-4/+2
| | | | | | | | | | | 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: Delete breakpoint markers on session switchhjk2019-11-281-9/+4
| | | | | | | | | | | | | | There were some left-over "ghost markers" when switching sessions, which should be gone now. This also pointed to a wrong use of SessionManager::aboutToUnloadSession which mustn't save data re-created in a save/load cycle as it is called during any session load, including the very first on startup no such data (e.g. breakpoints) have been created yet. Change-Id: I237a9e3500a786841618941ce85a97f7bd4f318c Fixes: QTCREATORBUG-22856 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Debugger: Fix conditional operator with identical true and false expressionshjk2019-11-011-9/+8
| | | | | Change-Id: I1f85eed5355cd01590bc8cc0082f154e215a9ac3 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
* Merge remote-tracking branch 'origin/4.10' into 4.11Eike Ziller2019-10-281-15/+28
|\ | | | | | | | | | | | | | | Conflicts: src/libs/utils/fancymainwindow.cpp src/plugins/projectexplorer/msvctoolchain.cpp Change-Id: I7aaeeb4f96c95fefd4944c083c1ddf9a19cd81d6
| * Debugger: Avoid recreation of breakpoint markersDavid Schulz2019-10-181-5/+13
| | | | | | | | | | Change-Id: Ie3b160a7b7137257b2028d03878700675142102f Reviewed-by: hjk <hjk@qt.io>
| * Debugger: further untangle of breakpoint item and markerDavid Schulz2019-10-171-6/+15
| | | | | | | | | | Change-Id: I9331912c1b53a0110479f46ef1e576676441ab75 Reviewed-by: hjk <hjk@qt.io>
| * Debugger: Fix crash after breakpoint marker drag&dropDavid Schulz2019-10-171-7/+3
| | | | | | | | | | | | | | | | | | The updateMarker function deletes the marker of the global breakpoint so don't call that function from the marker. Fixes: QTCREATORBUG-23107 Change-Id: I377608f1a08b61451be1fc0be5bc15252252a4a7 Reviewed-by: hjk <hjk@qt.io>
* | Debugger: Introduce a checkboxhjk2019-10-161-0/+8
|/ | | | | | | | | | | | | | ... to propagate breakpoint changes from a running debugger back to the original preset breakpoint. This is currently unused as some changes are already propagated, and some not, so a bit more diligence is needed. For now it is there to have the new label string in safely before string freeze. Change-Id: I8ee4d07bab5a4f66e59bf992ebfd81c56fdb3ecf Reviewed-by: David Schulz <david.schulz@qt.io>