summaryrefslogtreecommitdiff
path: root/src/plugins/debugger/breakpoint.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Debugger: Use more FilePath in source file handlinghjk2023-03-151-3/+4
| | | | | | | | | | 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>
* 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: Use qtcEnvironmentVariable* instead of qEnvironmentVariable*Eike Ziller2022-08-311-1/+2
| | | | | | | | | | | | And instead of qgetenv. Takes Qt Creator's setting at "Environment > System > Environment" into account, which makes it easier on some platforms to set them (e.g. macOS), can be configured differently in different settings paths, and potentially can be changed at runtime (depending on usage). Change-Id: I3ea7623fb528e13a202afa2f89b00e5ee83962d8 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: David Schulz <david.schulz@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-2/+2
| | | | | Change-Id: I5d2475c790851c68f9997ac6af72b5eaca58482d Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Fix breakpoints not getting hit for .mjs filesMaximilian Goldstein2021-02-081-1/+1
| | | | | | | Fixes: QTCREATORBUG-25328 Change-Id: I7e859fec62c7d0c3a34bd6a88e2c8a77c32fb932 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Fawzi Mohamed <fawzi.mohamed@qt.io>
* Debugger: Fix build with Qt6Eike Ziller2020-09-181-4/+4
| | | | | | | | | | QStringRef gone. ViewOptions changed. MetaType register stream operators automatically. Task-number: QTCREATORBUG-24098 Change-Id: Ibf98561af951aa5fc4ec483d18dafeaad02e07c3 Reviewed-by: hjk <hjk@qt.io>
* Utils: Drop Utils::SkipEmptyParts againhjk2020-07-211-1/+1
| | | | | | | | We require Qt 5.14 nowadays. Change-Id: Iff245257d3cb19207007c0445ee13814e66152dd Reviewed-by: Orgad Shaneh <orgads@gmail.com> Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* All: Use Utils::SkipEmptyPartshjk2020-06-171-1/+2
| | | | | | Task-number: QTCREATORBUG-24098 Change-Id: Iab45de9a9c17ddc39a0e343b1175d4f6cb94b098 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Debugger: Fix some breakpoint file name display breakagehjk2020-03-191-0/+1
| | | | | | | | | | For unclaimed breakpoints the wodking directory was shown as path. Amends commit a7dd0e50a28595eb976d77b1b23b8120b0a9395a. Change-Id: I9614b3672d32fb18e35dc98c12a60e3b27eebf84 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Use isEmpty() instead of count() or size()Alessandro Portale2020-01-201-1/+1
| | | | | Change-Id: I0a89d2808c6d041da0dc41ea5aea58e6e8759bb4 Reviewed-by: Orgad Shaneh <orgads@gmail.com>
* Debugger: make BreakpointParameters::fileName a Utils::FilePathDavid Schulz2020-01-061-4/+4
| | | | | | Task-number: QTCREATORBUG-23339 Change-Id: Ifc497c14589cd6df10d8219533e100f1919213b3 Reviewed-by: hjk <hjk@qt.io>
* Some clang-tidy -use-modernize-nullptrhjk2019-08-011-1/+1
| | | | | Change-Id: I1bed5e85a5b7948d08502a72a10f80baa075c204 Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
* Fix warning: "Use midRef() instead of mid()"Alessandro Portale2019-01-171-2/+2
| | | | | | | [-Wclazy-qstring-ref] Change-Id: If8a0844b39377feb3772542559655854a92b93cd Reviewed-by: hjk <hjk@qt.io>
* Fix warning: "Unused non-trivial variable"Alessandro Portale2019-01-171-1/+0
| | | | | | | | [-Wclazy-unused-non-trivial-variable] Change-Id: Ia99c3de31fd92205f25624ab60e60370c1aa4538 Reviewed-by: Orgad Shaneh <orgads@gmail.com> Reviewed-by: hjk <hjk@qt.io>
* Fix warning: "Missing reference in range-for with non trivial type"Alessandro Portale2019-01-161-1/+1
| | | | | | | [-Wclazy-range-loop] Change-Id: I5dcb263c754d423740e7bce3dcb948d52f2dec67 Reviewed-by: Orgad Shaneh <orgads@gmail.com>
* Debugger: Privatize GdbMi::m_childrenhjk2018-09-261-1/+1
| | | | | Change-Id: I6e51290c4521be40f516a452f32bdc82a4c051e6 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Debugger: Make most views per-engine instead of singletonshjk2018-08-171-127/+186
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a step towards properly supporting multiple debugger sessions side-by-side. The combined C++-and-QML engine has been removed, instead a combined setup creates now two individual engines, under a single DebuggerRunTool but mostly independent with no combined state machine. This requires a few more clicks in some cases, but makes it easier to direct e.g. interrupt requests to the interesting engine. Care has been taken to not change the UX of the single debugger session use case if possible. The fat debug button operates as-before in that case, i.e. switches to Interrupt if the single active runconfiguration runs in the debugger etc. Most views are made per-engine, running an engine creates a new Perspective, which is destroyed when the run control dies. The snapshot view remains global and becomes primary source of information on a "current engine" that receives all menu and otherwise global input. There is a new global "Breakpoint Preset" view containing all "static" breakpoint data. When an engine starts up it "claims" breakpoint it believes it can handle, but operates on a copy of the static data. The markers of the static version are suppressed as long as an engine controls a breakpoint (that inclusive all resolved locations), but are re-instatet once the engine quits. The old Breakpoint class that already contained this split per-instance was split into a new Breakpoint and a GlobalBreakpoint class, with a per-engine model for Breakpoints, and a singleton model containing GlobalBreakpoints. There is a new CppDebuggerEngine intermediate level serving as base for C++ (or, rather, "compiled") binary debugging, i.e. {Gdb,Lldb,Cdb}Engine, taking over bits of the current DebuggerEngine base that are not applicable to non-binary debuggers. Change-Id: I9994f4c188379b4aee0c4f379edd4759fbb0bd43 Reviewed-by: Christian Stenger <christian.stenger@qt.io> Reviewed-by: hjk <hjk@qt.io>
* Debugger: Code cosmeticshjk2018-05-311-2/+2
| | | | | | | Sprinkling in const and ranged for. Change-Id: I5d11d57f64140021397c23734c7373544ebebb6f Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Use QString::splitRef() instead of QString::split()Friedemann Kleint2016-11-251-2/+2
| | | | | | | Avoid string allocation where it seems feasible. Change-Id: I61b23d4ef8a459f5aa77727a75f4e1d2b140da3b Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* Debugger: Remove debuggerstringutils.hhjk2016-06-091-23/+11
| | | | | | | | | | With QT_RESTRICTED_CAST_FROM_ASCII making GdbMi etc operate on QString is feasible again. Take this as opportunity to move debugger encoding handling closer to a 'conversion on input and output if needed, storage in QString only' scheme. Change-Id: I2f10c9fa8a6c62c44f4e6682efe3769e9fba30f7 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>
* Permit the use of the QML debugger on non JS/QML filesJean Gressmann2015-09-231-3/+11
| | | | | Change-Id: I1574f553c937bd4759b20ca5f0d22582087800cb Reviewed-by: hjk <hjk@theqtcompany.com>
* Debugger: Partially merge Breakpoint{Model,Response}Id implementationhjk2015-06-121-72/+28
| | | | | | | | ... and remove functions that have not been in use since switching the BreakHandler to a TreeModel. Change-Id: I1b4170b4a837284aece7c0ea1a4d76c1127d6503 Reviewed-by: Christian Stenger <christian.stenger@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>
* | Debugger: Remove unused codehjk2015-02-041-12/+0
|/ | | | | Change-Id: Icce45f23abc026668531191e95c2e4d93d63fda7 Reviewed-by: hjk <hjk@theqtcompany.com>
* License updateEike Ziller2014-10-091-7/+8
| | | | | Change-Id: I3c22ef2685d7aa589f5d0ab74d693653a4c32082 Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
* Incremented year in copyright infoRobert Loehning2014-01-081-1/+1
| | | | | | Change-Id: Ib5423fdd064e4546f848c0b640b0ed0514c26d3a Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com> Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* Fix some include statements.Christian Kandeler2013-09-041-1/+1
| | | | | | | | In several places, it says '#include "..."' for headers from different libraries/plugins. Change-Id: I96cd74fef9b30163adefe3e1720e0847bed9553a Reviewed-by: hjk <hjk121@nokiamail.com>
* Debugger: Add basic breakpoint handling and stepping to LLDB backendhjk2013-04-101-3/+16
| | | | | Change-Id: Ib700afa63739e6d26bdd97225265559d7112eadb Reviewed-by: hjk <hjk121@nokiamail.com>
* Clean headers in debugger plugin.Friedemann Kleint2013-03-221-1/+0
| | | | | Change-Id: Ia50e61a82101b699390b23b4f1ea9509619314bb Reviewed-by: hjk <hjk121@nokiamail.com>
* Incremented year in copyright infov2.6.2Robert Loehning2013-01-291-1/+1
| | | | | Change-Id: Ic6a9ff0359625021ebc061d22db6811814534205 Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* Adjust license headershjk2012-10-051-21/+20
| | | | | Change-Id: Ice592c6de9951ee3b2c4cb52ed0bb3b6770e0825 Reviewed-by: Eike Ziller <eike.ziller@digia.com>
* debugger: add support for temporary breakpointshjk2012-08-211-15/+17
| | | | | Change-Id: I841c37d21932da0ef354dbbe2fd75cec2fae86d6 Reviewed-by: hjk <qthjk@ovi.com>
* Contact -> qt-project.orgEike Ziller2012-07-191-3/+1
| | | | | Change-Id: I7134d7de30bcf9f9dcfad42520dd45ee083a852d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* QmlDebugger: Refactor QML Signal HandlerAurindam Jana2012-04-161-3/+3
| | | | | | | | | | Refactor QML Signal Handler to QML Signal Emit. This is because the debugger breaks when a matching signal is emitted irrespective of whether there is a handler connected to the signal. Change-Id: I852ace75c1962290717ed127ac5938d7505b9a7e Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: hjk <qthjk@ovi.com>
* Removed module names from #include directives.Erik Verbruggen2012-02-151-3/+3
| | | | | | | | Getting the #include directives ready for Qt5. This includes the new-project wizards. Change-Id: Ia9261f1e8faec06b9285b694d2b7e9a095978d2b Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
* Long live the king!hjk2012-01-261-1/+1
| | | | | Change-Id: I2b72b34c0cfeafc8bdbaf49b83ff723544f2b6e2 Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
* debugger: move isCppBreakpoint to Breakpointhjk2012-01-241-0/+15
| | | | | Change-Id: I241401fa010166982e5a95a699c99fbaa87188ef Reviewed-by: hjk <qthjk@ovi.com>
* Debugger: Compile with QT_NO_CAST_FROM_ASCII.Friedemann Kleint2011-12-211-4/+4
| | | | | | | | (except gdbmi.cpp, name_demangler.cpp). Remove some unneeded conversions, change some maps to take QByteArray keys. Change-Id: I010f1251998a441fe5c8c87901b1e0c277c0391c Reviewed-by: hjk <qthjk@ovi.com>
* all: s/info@qt.nokia.com/qt-info@nokia.com/hjk2011-11-031-2/+2
| | | | | Change-Id: If18afb5d4665924e7d9250dccbc60a65e6daa75e Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
* Debugger: Prevent adding invalid breakpoints.Friedemann Kleint2011-10-201-0/+27
| | | | | | | | | Check on session restore and add. In particular, suppress watchpoints at 0x0, which hang gdb. Change-Id: I648f53a709fabdebe641e478f367f1354a315ab1 Reviewed-by: hjk <qthjk@ovi.com>
* V8DebuggerClient: Enable breakpoints on ExceptionsAurindam Jana2011-10-111-0/+1
| | | | | | | | | | | Previously break on exceptions was always enabled. Now, the user can add a breakpoint on Javascript Exceptions from the breakpoint window in the debugger. Change-Id: Ia9ee813d2fccf89b607fe1dcbad47b4084155a48 Reviewed-on: http://codereview.qt-project.org/6348 Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
* Debugger: Change BreakpointOnSignalHandler to BreakpointOnQMLSignalHandlerAurindam Jana2011-09-301-1/+1
| | | | | | | | Change-Id: Ic71299c38863cdb55862ced7348b2bdc9cf39555 Reviewed-on: http://codereview.qt-project.org/5743 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
* JSDebugger: Enable break on events.Aurindam Jana2011-09-161-0/+1
| | | | | | | | | | | | The user can request Javascript break on event. The user can provide this info in the Breakpoints Window and provide the slot which will be called when the event occurs. For example: specify "onTriggered" if you need to break on Timer triggered event. Change-Id: If936d7402f5978a182132fdcca75515588364e16 Reviewed-on: http://codereview.qt-project.org/4758 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
* debugger: only update location when the information gets betterhjk2011-07-041-2/+8
| | | | | | | | | The contents of the "original location" field is sometimes worse than what we collected otherwise. Use it only if it points to a readable file. Change-Id: I6c7229ead803e9f7970b8322f29469bfbe350b5d Reviewed-on: http://codereview.qt.nokia.com/1072 Reviewed-by: hjk <qthjk@ovi.com>
* debugger: don't duplicated "full name" information in break responsehjk2011-07-041-3/+0
| | | | | | | | | Less information to keep in sync. Change-Id: Icd862bbf8965eefd8ea3ad17b6f574b1f85bb8d2 Reviewed-on: http://codereview.qt.nokia.com/1069 Reviewed-by: hjk <qthjk@ovi.com> Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
* Debugger [CDB]: Fix module resolution.Friedemann Kleint2011-06-301-0/+7
| | | | | | | | | | Use breakpoint id as response id to identify breakpoints in reponse to 'list breakpoint' command. Change-Id: I31686aef0193bf2e26e38482c7efebf294a358c4 Reviewed-on: http://codereview.qt.nokia.com/940 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: hjk <qthjk@ovi.com>
* Debugger: Add infrastructure for message tracepoints.Friedemann Kleint2011-06-271-0/+4
| | | | | | | | | | | | | | Add context menu to add a 'message tracepoint', that is, a trace point that outputs a user message and continues. Intended to be a replacement for manually inserting a qDebug() into the code to understand the call sequence. Yet to be implemented for gdb. Change-Id: I1c303001421fbbae74d98d15d52718579350db6e Rubber-stamped-by: hjk Reviewed-on: http://codereview.qt.nokia.com/756 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>