Commit Graph

717 Commits

Author SHA1 Message Date
Robert Loehning
cf2ea1b70a Valgrind: Use multi-arg version of arg()
Change-Id: I729641e829ccbd604ea8bb3e45a5425bb83e1a1b
Reviewed-by: hjk <hjk@qt.io>
2018-10-23 13:53:13 +00:00
hjk
1c9410e353 ProjectExplorer: Rename 'extraAspect' to 'aspect'
Using aspects is the standard pattern nowadays, there's nothing 'extra'
to them anymore.

Change-Id: I446f9d7b1db58a4899e5e44df33ce51f655e7be4
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2018-10-02 08:32:51 +00:00
Eike Ziller
e28eb85e8a Merge remote-tracking branch 'origin/4.7' into 4.8
Change-Id: Iaae859601ae4f529c1fa7ada3a5c569820abb0d6
2018-09-26 09:38:33 +02:00
Hannes Domani
8768e39d3c Valgrind: Add target executable suffix to heob command line
The suffix is needed in case the executable name contains a dot,
because then the .exe suffix is not added automatically by
CreateProcess().

Change-Id: Ief2cfeaa8dd8ebbfb71f69575ee9574a4f2156d3
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2018-09-25 14:58:16 +00:00
hjk
d421bc2fe3 ProjectExplorer: Split IRunConfigurationAspect
... into items that can be used generically in project configurations
(ProjectConfigurationAspect) and items that have a choice between
global and project settings (GlobalOrProjectAspect)

Change-Id: I94831237bdbb18c339eb76eba131bf7f928933d6
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2018-09-18 06:13:21 +00:00
hjk
2c4dadccb6 ProjectExplorer: Update "generic" run configuration aspects
None of the run configuration aspects that are added to each runconfig
depend on the actual runconfig, only two need the target, the rest
nothing at all. So use target as common denominator.

Change-Id: I31829e63ac79d5c707bb068d73fc6a4687cb4c47
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2018-09-13 12:36:35 +00:00
hjk
32ba65c7f8 ProjectExplorer: Remove IRunConfigurationAspect::runConfiguration
... and adapt constructors to not take the now-unneeded
RunConfiguration pointer.

Change-Id: I53ff338f51334ff7b0c22d4bed92bfcfc8225ea7
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2018-09-13 12:09:39 +00:00
hjk
35b941462e ProjectExplorer: Remove RunConfigWidget wrapper class
Not really needed, a QWidget does the job, too, and de-emphasizes
then 'Run' bit. The display name is now taken always from the
aspect, but that's what was the practically the case before,
albeit with different implementations.

Change all names to *[cC]onfigWidget* (in line with ISettingsAspect).

Change-Id: Ida0409a2dd0b175dd5ce4202f9b9e94b3f2db421
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2018-09-13 07:32:57 +00:00
hjk
69753cf9b6 ProjectExplorer: Remove direct runconfig dependency from ISettingsAspect
Change-Id: I5d8a6a31f6bf97c34163b64b8d37f9ea070717ba
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2018-09-11 07:51:11 +00:00
hjk
e6e38df436 Debugger: Shift some perspective related API to the perspective class
Also, use QString uniformly for the (now rarely used) perspective ids.

Change-Id: I682062e7d179d0fcfd309e7714713bd1218bd8bb
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2018-08-23 08:57:10 +00:00
hjk
32d2a4c985 Shift perspective ownership to plugins
Change-Id: Id146ca771b4dc92f35cf156efbabae154f2d940f
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2018-08-21 15:38:22 +00:00
hjk
263cf4c608 ProjectExplorer: Remove RunWorker::setDisplayName
It has been an obsolete alias for setId for a while and downstream
uses have been adapted.

Change-Id: I467370aa67054599c7771e8275d28e62ddc461fa
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2018-08-21 08:02:22 +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
Eike Ziller
db9837fa6c Merge remote-tracking branch 'origin/4.7'
Conflicts:
	src/plugins/clangtools/clangtoolruncontrol.cpp
	src/plugins/cpptools/compileroptionsbuilder.cpp

Change-Id: Ib1e8abf066898b50c90fc1ccba4697fe983e8a8f
2018-08-15 13:53:28 +02:00
Hannes Domani
5a3a432396 Valgrind: Fix heob check if executable exists
Task-number: QTCREATORBUG-20938
Change-Id: Id1c3cbf610b97a13209e6a767c5e881e9be18ac7
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2018-08-14 10:03:07 +00:00
hjk
1567679b81 Debugger: Tighten Perspective interface
Pass id in constructor, so it can be const.

Change-Id: Id33fe19c4416109af8aa05a3ed0a09918eeb5cdf
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2018-08-13 08:42:52 +00:00
hjk
f45f1a8cef Debugger: Make perspective toolbar items part of the perspective
This simplifies the toolbar setup and removes the need for the
stack of toolbar widgets.

The actions themselves have been owned by the plugin already,
so nothing changed in this respect.

Change-Id: I44754e16c8fc2acc53633dd9d560b1e732eece27
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2018-08-06 11:12:44 +00:00
hjk
e9eb1a6437 Debugger/Perspectives: Go back to QPointer<QObject>
Lifetime of the pointed-to object may end before that of
the plugin, so unique_ptr is the wrong choice.

This amends 01f2b982a2.

Change-Id: I76b9ac78348d2ae1e7eff0693b091dbe8475ab93
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2018-08-02 08:56:20 +00:00
hjk
83024557d6 Valgrind: Proactively shut up sanity bot
It complains about alledgedly wrong spelling of "Visualisation"
in unrelated patches.

Change-Id: I047f2be4b534a7d01d8c0bc39ff22b615d2c0467
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2018-08-01 12:49:45 +00:00
hjk
01f2b982a2 Debugger: Move ownership of perspective dock widgets to plugins
Similar to the previous patch, but affecting more plugins: with dynamic
perspectives lifetime is better managed close to the code that knows how
to (re-)construct the items.

Change-Id: I0e7bfcf769d198ec2afa88b972be900baa1b6a46
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2018-08-01 11:27:21 +00:00
Orgad Shaneh
1958c2129e Revert "Windows: Match the name case of included files"
It breaks cross-compilation on linux/mingw.

This reverts commit 1c014ed3d9.

Change-Id: I3e8183ec318541a4393ad242eefbdeaa78b7be44
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2018-07-19 05:44:06 +00:00
Alessandro Portale
1c014ed3d9 Windows: Match the name case of included files
Although Windows is case insensitive, and lower case always works, Clang
complains:

Lexical or Preprocessor Issue: warning: non-portable path to file
'<FooBar.h>'; specified path differs in case from file name on disk

Change-Id: I8f94e9fb62f6afec8aa6b9d08a7c78f6ba8a4435
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2018-07-12 20:12:30 +00:00
Alessandro Portale
3d3f14e3fe Prefer using 'override' instead of 'virtual'
warning: prefer using 'override' or (rarely) 'final' instead of
'virtual' [modernize-use-override]

Change-Id: I6dac7a62b627fa1353b4455e1af92f869c2571cc
Reviewed-by: Marco Benelli <marco.benelli@qt.io>
2018-07-11 16:31:35 +00:00
Eike Ziller
3bbe535b95 Merge remote-tracking branch 'origin/4.7'
Change-Id: I3c5d7e9e8c589ad4425cd89d61e1f572f5cb7997
2018-06-19 10:03:28 +02:00
Christian Stenger
b870f01d11 Valgrind: Heob: Make heob support translatable
Task-number: QTCREATORBUG-19830
Change-Id: I0c9799d9b3f8b56d96e78bf48fe32b9a3c4591eb
Reviewed-by: hjk <hjk@qt.io>
2018-06-14 06:30:01 +00:00
hjk
0fbb2839f9 Remove ApplicationLauncher::Mode
The actual remaining use was to pop up a terminal in some
setups where Mode == Console, with a default of Gui meaning
"no console". In some downstream uses it was used set to
Console (probably to mean "this helper process does not need
a gui") but then luckily ignored when actually starting the
helper processes.

All cases where the console is useful and requested are
nowadays RunWorkers belonging to RunConfigurations with
a TerminalAspect, so they can directly get the relevant bit
from their RunConfiguration without having it part of
all StandardRunnables.

Change-Id: I1368d5968da5cf672656aebf200ccac8d45335d0
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2018-06-05 15:08:29 +00:00
hjk
07079a1613 Valgrind: Use the majority way to register run workers
Change-Id: I6423620a9a1917ab09b93038b020c36e9208b728
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2018-06-04 11:51:43 +00:00
hjk
36b835ff0a Finish merging Runnable and StandardRunnable
As all Runnables are known to be StandardRunnables, this here
essentially replaces all .is<StandardRunnable> by 'true'.
.as<StandardRunnable> by no-op, and fixes the fallout.

Change-Id: I1632f8e164fa0a9dff063df47a9e191fdf7bbb2e
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2018-05-23 08:48:36 +00:00
Nikolai Kosjar
f452896308 Debugger: Remove DetailedErrorDelegate
Change-Id: I08cd9af5e11e705378a53075c7fade44fc3246ce
Reviewed-by: hjk <hjk@qt.io>
2018-05-22 06:26:23 +00:00
Christian Stenger
e3fb057397 Valgrind: Add clear button to callgrind tool
Callgrind runs can spread TextMarks across files. Only way to
get rid of them would be to start a new analyze and stop it
before it can add new TextMarks.
Be user-friendly and allow clearing the data including the
TextMarks explicitly.

Change-Id: If8d5c5f789414709a110249377ce907466c0fdf1
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2018-05-15 12:03:57 +00:00
Christian Stenger
54d6e3ad7b Valgrind: Fix unit test
Change-Id: I270aaf2fd2b74a6d1ec067555a9f65ecbab2ffad
Reviewed-by: hjk <hjk@qt.io>
2018-05-09 07:13:34 +00:00
Tobias Hunger
c6ba157155 Valgrind: Consistently use nullptr
Fixed by clang-tidy modernize-use-nullptr.

Change-Id: I9ae41e4d76168fa5a2e379eb1cdf605e4d106596
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2018-05-08 07:43:30 +00:00
Tobias Hunger
f531f76d04 Valgrind: Use override consistently
clang-tidy fixes from modernize-use-override check.

Change-Id: I86854125710ee2a24f4b663546f87baafefb9679
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2018-05-07 13:37:22 +00:00
Eike Ziller
45f8d221bf Use FileName in TextMark
Change-Id: I3666d95dc8ef3b7da099d6d30f5cb4678a349493
Reviewed-by: David Schulz <david.schulz@qt.io>
2018-05-03 06:51:47 +00:00
Eike Ziller
4749a919a6 Merge remote-tracking branch 'origin/4.6'
Change-Id: I9927fdff4c7e73c703757852a3f3cf79444e3cb6
2018-05-02 15:22:16 +02:00
Christian Stenger
bb6eae5c3b Heob: Fix compiler warnings
Fix warnings regarding initializing order.

Change-Id: Iea220be1fcca47262ebf43d0cfe069ca0bfc1df5
Reviewed-by: hjk <hjk@qt.io>
2018-04-30 12:55:39 +00:00
hjk
065e644d92 Heob: Compile fix for MinGW
Task-number: QTCREATORBUG-20347
Change-Id: I13d0e4cae19a1623113f113dc6fe7e245d54be8c
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2018-04-30 12:10:55 +00:00
Ulf Hermann
f0baf01a2e ProjectExplorer: Keep RunConfiguration in ISettingsAspect
Any SettingsAspect that doesn't refer to the global settings has a
specific RunConfiguration it is about. This can be very handy to know
when constructing the actual settings. Right now there is no way to find
out about it.

Drop the clone() and create() methods. They weren't used anywhere and a
proper implementation should take care of the runConfiguration member.

Change-Id: Ie505a9b19707f8a1b6bf9cae73513cd3c30d0bca
Reviewed-by: hjk <hjk@qt.io>
2018-04-27 08:55:24 +00:00
Ulf Hermann
e0c4da30a6 Valgrind: Add some missing override
Change-Id: I217be7cb4dcdaf10824ed123db3aafc9dbc99671
Reviewed-by: hjk <hjk@qt.io>
2018-04-26 12:00:55 +00:00
Alessandro Portale
4317e350f5 Update Options dialog icons
A new set of scalable and themable icons with unified look as provided
by Diana.

Task-number: QTCREATORBUG-20325
Change-Id: I68498b034e9e43fbb61511a38d9c7fc0003ab076
Reviewed-by: hjk <hjk@qt.io>
2018-04-24 14:43:35 +00:00
Orgad Shaneh
a23615e41c Callgrind: Use nullptr
Change-Id: I07c23d8bc48815e44ad340a6e37ee3b229866dbf
Reviewed-by: hjk <hjk@qt.io>
2018-03-16 10:11:24 +00:00
Eike Ziller
c7fdb93865 Merge remote-tracking branch 'origin/4.6'
Conflicts:
	qbs/modules/qtc/qtc.qbs
	qtcreator.pri
	src/plugins/qbsprojectmanager/qbsrunconfiguration.cpp

Change-Id: I2445882a270731b866b04f28ff87d161224c539a
2018-02-13 13:37:37 +01:00
Alessandro Portale
cebb667023 Valgrind: Use OPENFILE_TOOLBAR in toolbars
Change-Id: Ib154f6352006b827b771d033eddc939ac4dc6dfe
Reviewed-by: hjk <hjk@qt.io>
2018-02-13 10:55:04 +00:00
Hannes Domani
ac8f2b8302 Valgrind: Open help for heob
Change-Id: I9cc7dfc2553f445784d3bb86378e2db28f70902c
Reviewed-by: hjk <hjk@qt.io>
2018-02-07 11:07:20 +00:00
Eike Ziller
5432dd1f5c Merge remote-tracking branch 'origin/4.6'
Conflicts:
	src/plugins/coreplugin/locator/locator.cpp
	src/plugins/imageviewer/imageviewerplugin.cpp
	src/plugins/remotelinux/remotelinuxplugin.cpp
	src/tools/clangbackend/source/tokeninfo.cpp
	tests/unit/unittest/data/highlightingmarks.cpp

Change-Id: I74cc3ba3a2836cb9d0e65d3380d8c4f88d720c67
2018-02-07 11:58:23 +01:00
Leena Miettinen
7797a2ba63 Heob: Fix UI text
Fix issues in writing style and punctuation.

Change-Id: I68da7960ccb5876ec8baf3b8eab1ab7e0d475a77
Reviewed-by: Hannes Domani <ssbssa@yahoo.de>
Reviewed-by: hjk <hjk@qt.io>
2018-02-07 08:17:07 +00:00
Oliver Wolff
74d718c001 Fix MinGW valgrind build
QueryFullProcessImageName is only available on Windows >= Vista.
iSetting _WIN32_WINNT fixes availability on MinGW and moving the
functionality to winutils avoids code duplication.

Change-Id: I0ff1a12a1c092b1ad9cde75b636b52c5b959ce7d
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: David Schulz <david.schulz@qt.io>
2018-02-06 07:30:18 +00:00
hjk
126674429f Valgrind: Remove unneeded use of global object pool
Change-Id: If1412703d04e63bf08caaabc83f6a4b9999c5e29
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2018-02-05 11:09:34 +00:00
Orgad Shaneh
561773ce2b Valgrind: Show full command-line on valgrind execution
Change-Id: I2cc5e966be44cb65f9dda5e55c38538badd78130
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2018-01-24 17:42:25 +00:00
Hannes Domani
408c3a153a Valgrind: Inform about heob/dwarfstack requirements
Change-Id: I86b561b474f5676568b490bdfd829f17364ea3c3
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2018-01-23 11:03:49 +00:00