Commit Graph

247 Commits

Author SHA1 Message Date
hjk
d685fbccf0 Debugger: Use a FilePathAspect for extra dumpers
Change-Id: Ideb779cc5ef0d679667b635efe8c1a2859c6e608
Reviewed-by: David Schulz <david.schulz@qt.io>
2023-05-25 09:49:05 +00:00
hjk
75710fa369 Utils: Remove LabelPlacement::AtCheckBoxWithoutDummyLabel
This is identical in remaining functionality to AtCheckBox after
the recent layout builder changes (or rather, can be adjusted on
the layouting side by having appropriate empty cells)

Task-number: QTCREATORBUG-29167
Change-Id: Ic357de6fb756acb5926afe1fd361ee4b18b17afd
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2023-05-24 09:53:05 +00:00
David Schulz
ae2690e4b1 Debugger: make default number of array elements configurable
Change-Id: Iad7b653d66f9f87d818f8cce612a82a5fc391b23
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
2023-03-07 11:14:54 +00:00
Eike Ziller
6bb756ba1c Debugger actions: Move <p> out of tr()
This is just there at the front to force word-wrap on the tooltips, it
shouldn't be part of the translated text.

Change-Id: I62157aba303071677ca89929f9e56c03ee1f21e7
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2023-02-27 13:38:27 +00:00
Eike Ziller
0dfa542bee Merge remote-tracking branch 'origin/9.0'
Conflicts:
	src/plugins/cppeditor/cppcodestylesettingspage.h

Change-Id: I1aa4e2f9efc6d9cf9f284aef1abf148be9b93a60
2023-01-10 15:44:55 +01:00
Robert Loehning
c2788b0f05 Debugger: Add missing space
Change-Id: Ibb8623392c1b0e759df198fab87a6059558236e9
Reviewed-by: David Schulz <david.schulz@qt.io>
2023-01-10 12:07:05 +00:00
Kai Köhne
56baf8c058 Remove GPL-3.0+ from license identifiers
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>
2023-01-06 11:15:13 +00:00
hjk
2b97f69796 Debugger: Merge GDB and GDB Extended option pages
Change-Id: I0d4c041cec9ea01e1310f08a4ee87ed8080976bd
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-12-20 13:26:09 +00:00
hjk
c83e66d45f Debugger: Update "known functions" to skip
Fixes: QTCREATORBUG-26821
Change-Id: I12e895034bcf3896caef75f38364cbc9a4484ae5
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-12-20 08:51:14 +00:00
Leena Miettinen
b9e45d7b30 UI text: Fix spacing in multi-line messages
You need an empty space at the end of a line (before quotes),
but no empty space after \n.

Task-number: QTCREATORBUG-28334
Change-Id: I192836cb10b819a359778879c64e6b80aaa059f2
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-10-20 07:02:52 +00:00
Lucie Gérard
a7956df3ca Use SPDX license identifiers
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>
2022-08-26 12:27:18 +00:00
hjk
9894c6eaf0 Debugger: Convert to Tr::tr
Change-Id: I5d2475c790851c68f9997ac6af72b5eaca58482d
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-07-08 12:32:38 +00:00
Jarek Kobus
2853660a59 Utils: More forward declarations / drop unused headers [D-G]
Round 1 - focus on headers.
For classes with initial in range [D-G].
Try to keep the same separators between different kind of headers.

Change-Id: Id42cd7b3743a816f75cecb6b576c0e37cb057473
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>
2022-05-25 07:13:52 +00:00
Leena Miettinen
99ceebe695 Debugger: Remove extra words from tooltips
Task-number: QTCREATORBUG-27055
Change-Id: Ic7b447da2de3267ad897cdef0275a2faa4474099
Reviewed-by: hjk <hjk@qt.io>
2022-02-17 12:12:02 +00:00
hjk
579e643f71 Debugger: Increase the default string display limit to 300
This helps especially with paths that often exceed 100 characters
nowadays.

Change-Id: I0a4cd62803178a129e8ced723e5422bf9eb21a08
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-07-05 05:31:05 +00:00
hjk
c8241c12d0 Debugger: Add an option to enable newer gdb's symbol index cache
GDB 8.3+ can automatically save indices of DWARF symbols on disk
to speed up further loading of the same binaries.

Make this option available to the user and switch it on by default.

No harm is done for gdb builds without this feature.

Task-number: QTCREATORBUG-23207
Change-Id: Id0d467eee429a94f1d8e826a883179796732d31e
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-06-11 11:35:01 +00:00
Eike Ziller
863260f1fd Merge remote-tracking branch 'origin/4.15'
Conflicts:
	src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp
	src/plugins/debugger/gdb/gdboptionspage.cpp

Change-Id: I4149e860b6842ea63bff3a7eb9632b7a6c2919d8
2021-03-22 09:52:14 +01:00
hjk
9943146cfe Debugger: Introduce an option to force QT_LOGGING_TO_CONSOLE=1
Debug output is ephemeral in nature, and does not belong into system logs.
It happens, however, on Arch. Let people override this.

Fixes: QTCREATORBUG-25421
Change-Id: I5686e256d76e5a127e3269c5f407daf39bad683f
Reviewed-by: David Schulz <david.schulz@qt.io>
2021-03-10 09:59:02 +00:00
hjk
641604429a Debugger: Use an aspect for the source path mapping
More in line with the other settings.

Change-Id: I86494f1955120cddda7d2f2eec8ba0fdbfd99585
Reviewed-by: David Schulz <david.schulz@qt.io>
2021-03-09 12:40:12 +00:00
hjk
7ccd9d6943 Debugger: Move interpretation on nature of source path mapping to user code
Change f0e2708 introduced the ability to specify source path mapping
containing regular expressions and used this in the elf reader.

To simplify the code, this change here moves the decision which paths
are considered regular expressions to the user. The other users which
are not aware of the special handling of paths starting with '(' in
the elf reader will interpret them as plain string, which appears to
be the right thing.

Change-Id: I31f10ed866fe7582d44307a923b6db10206acc9a
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2021-03-05 10:52:57 +00:00
hjk
ee13340bdc Debugger: Fix a few left-over FIXMEs from the aspectification
We can have action icons now, and there's setDisplayName for
BookStyleCapitalized text to be used in the right places.

Change-Id: I9f2bdcd0cc738d2f8169c669a41d5309ab69ecd5
Reviewed-by: David Schulz <david.schulz@qt.io>
2021-03-05 07:36:39 +00:00
hjk
2152564329 Utils: Remove BaseAspect base from AspectContainer again
Turns out to get into the way more often than it helps, e.g.
'setAutoApply' operated on the base class' m_autoAspect flag
instead of spreading it over the items in the container.

Change-Id: I2711f2a488d1a6c30ec21d3fc481563cec6e55d4
Reviewed-by: David Schulz <david.schulz@qt.io>
2021-03-05 06:01:34 +00:00
hjk
93a5803956 Debugger: Aspectify settings
Change-Id: I527be79965250b82a0928171b17aa93bac9fa2a0
Reviewed-by: David Schulz <david.schulz@qt.io>
2021-03-03 07:39:17 +00:00
Mattias Johansson
2081038953 Add gdb tracepoint support for Linux
Change-Id: Id2e46bae576a730f8c1b64a247aeed12e6d721af
Reviewed-by: hjk <hjk@qt.io>
2021-02-02 07:36:07 +00:00
hjk
79ade10c4a Debugger: Add an option to show simple values as text annotations
Change-Id: I726d8559d7e28abd776ce483d5f670be5af09412
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: David Schulz <david.schulz@qt.io>
2021-01-20 09:45:03 +00:00
hjk
afde217f28 Debugger: Convert a QRegExp use in source path map
Task-number: QTCREATORBUG-24098
Change-Id: I1ee441a60cbf362d38459bcef869e02d7fca9b7e
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-06-10 07:07:23 +00:00
Robert Loehning
ec79f42701 Debugger: Update references to Locals and Expressions
These are two separate views now

Change-Id: I010ad0b937982704310d102d1f4338ec0c29a370
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2020-04-09 09:01:16 +00:00
hjk
06b2023420 Debugger: Remove "IdentifyDebugInfoPackages" feature
This was only ever working with SuSE and GDB, and nobody
ever tests it, nor asks for extension to other setups.

Change-Id: I7b1e3cc8c9f71df4c86b957a79d5afe02eec0758
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2020-02-25 14:13:01 +00:00
hjk
4bd26c3e4b Debugger: Add ability to hide view columns
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>
2019-12-13 08:07:31 +00:00
hjk
375c3209e7 Debugger: Save a few bytes in DebuggerSettings
Doesn't have to be a QObject.

Change-Id: I9a78d5c8103b74e34c202ad652016cec956298b0
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2019-12-10 09:01:39 +00:00
hjk
7705fbb701 Debugger: Code cosmetics
Remove uses of foreach, ...

Change-Id: I3997d4dffc63d58c386c70b08063ecb894ef1abb
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
2019-07-26 10:13:27 +00:00
Orgad Shaneh
147a3c27c4 Debugger: Strip QLatin1* where possible
Change-Id: Idcab23875b5dc2ecf55e3303f417b995e2252720
Reviewed-by: hjk <hjk@qt.io>
2018-10-13 16:32:31 +00:00
hjk
36b654567d Debugger: Finalize moving Operate by Instruction to engines
Fixes: QTCREATORBUG-21211
Fixes: QTCREATORBUG-21212
Change-Id: I6c0259052336f2141462157c319abeaec9a1e483
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2018-10-05 12:54:44 +00:00
hjk
3b5ecac238 Debugger: Make most views per-engine instead of singletons
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>
2018-08-17 12:35:15 +00:00
David Schulz
7bc14bf349 Debugger: add option to disable task entries for exceptions
Task-number: QTCREATORBUG-20915
Change-Id: I3b7bda65f5b645cd4d8f9582b9185cb27b2c9f91
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2018-08-15 07:46:33 +00:00
Alessandro Portale
0558db7b54 Debugger: Modernize
modernize-use-auto
modernize-use-nullptr
modernize-use-override
modernize-use-using
modernize-use-default-member-init
modernize-use-equals-default

Change-Id: I91a6874f0d7b94e9079ab4ef07c23c60c80be9c0
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2018-07-25 12:52:43 +00:00
hjk
1b87d19a64 Debugger: Modernize
Mostly nullptr instead of 0, but also a few bits of collateral damage.

Change-Id: I921991272aca921dcdecf302dfff3716e79dfc24
Reviewed-by: David Schulz <david.schulz@qt.io>
2018-02-01 10:28:54 +00:00
hjk
406f964993 Debugger: Fix typo leading to wrong settings behavior
Change-Id: I352346c5b1c644ccba46fd573e31f3f03877de26
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2018-01-31 07:19:52 +00:00
Orgad Shaneh
b207ef447d Debugger: Sort settings in dump
It's a hash, it has random order.

Change-Id: I6ae90b0d175a8a398f7a774deb25a8e5b5c46c62
Reviewed-by: hjk <hjk@qt.io>
2017-07-14 06:18:38 +00:00
hjk
fd2bf97f82 Debugger: Remove the "Attempt quick start option"
This was GDB-only. It complicates the startup mechanism including breaking
certain setups (e.g. users manually controlling "set auto-solib-add" in
their .gdbinit) without providing too much benefit (anymore).

Part of the potential debugger startup time improvements that were
possibly gained by the feature are nowadays available by using a
release build *without* debug info, as one of the original reasons
to not use that (making Qt type introspection hard/impossible)
is largely gone with 4.2+.

Change-Id: Iffb34e0035f39ad74b24bf025749b546f25a489b
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-02-06 13:15:19 +00:00
David Schulz
577ab21b30 Debugger: Add a "use python dumper" setting
Change-Id: I8bed1a8641e5cf46f50f7c9fced9a1b6c01964ed
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
2017-01-03 10:58:07 +00:00
hjk
2275d68373 Debugger: Switch on QObject name display by default
... and use the option to govern general QObject guts display.

This allows people to completely avoid the performance impact
of attempted QObject display and still makes the feature
more prominent for our favorite use case.

Change-Id: I1e53b6448f646ab7eea9168a3cd24c77769e6328
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-12-02 11:23:46 +00:00
David Schulz
c1ad70087d Debugger: Remove verbose option of the debugger log.
Saves an asking for debugger log roundtrip when the information is just
visible in the verbose log. Was just used inside the cdbengine.

Change-Id: I9801d3ccd8f273c3b4afcf053b00e7af0953a63f
Reviewed-by: hjk <hjk@theqtcompany.com>
2016-03-18 07:45:36 +00:00
Tobias Hunger
397e7f4843 Update License according to agreement with Free Qt Foundation
* Update files in src/plugins

Change-Id: Ia5d77fad7d19d4bb3498e78661982f68729adb22
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2016-01-19 15:57:01 +00:00
Robert Loehning
1ec2796c9b Debugger: Update tooltip referring to renamed view
Change-Id: I46e8194f20e496f530d19ff06e189754cb225e3d
Reviewed-by: hjk <hjk@theqtcompany.com>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com>
2015-12-18 13:35:50 +00:00
hjk
6a71c63186 Debugger: Make display of QObject names optional
... and switch it off by default. The feature has indeterministic
performance impact and lost quite a bit of its utility since GDB
learned to extract dynamic object types most of the times.

Change-Id: I22cccb03ba67f9ff6ad757bbc06eb372d84bbffe
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com>
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-12-17 14:58:23 +00:00
Alessandro Portale
033862f305 Themed Icons: Introduce Utils::Icon
Instead of describing icons via file name or in the themed icons case
via
a string that is a list of mask/color pairs, we have now a class for it.

Icons are now listed in per-plugin *icons.h headers.

RunControl::m_icon was The only place left where an icon property was in
fact a string. This patch changes that member to be a Utils::Icon.

Change-Id: Ibcfa8bb25e6d2e330c567ee7ccc0b97ead603177
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2015-11-25 12:30:52 +00:00
Eike Ziller
d13b22e6bc Merge remote-tracking branch 'origin/3.6'
Conflicts:
	src/plugins/coreplugin/editormanager/editormanager.cpp

Change-Id: Ibdf433b54e36e58182b7094f78d47ed3e8c81684
2015-11-12 13:43:17 +01:00
David Schulz
90ed0cf793 Debugger: Remove unused setting ListSourceFiles.
Change-Id: I4c60dcbf29ac050cdead98f2c58c204e3ffbab0a
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-11-11 07:35:33 +00:00
Alessandro Portale
b8bdc6f669 Icon refresh: First step towards the new Qt Creator themes
http://blog.qt.io/blog/author/didesous/ announced new designs/themes
for Qt Creator. This patch replaces many of the existing toolbar icons
with recolorizable masks for better theming support.

Change-Id: I557aa485205fe2624f33724226f698c303342b40
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
Reviewed-by: Alessandro Portale <alessandro.portale@theqtcompany.com>
2015-10-23 16:04:52 +00:00