Commit Graph

717 Commits

Author SHA1 Message Date
Hannes Domani
507e2b99cb Valgrind: Fix heob ui texts
Change-Id: Id246ba7d485c6993ae5788dde3ae4262df2f35d7
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: hjk <hjk@qt.io>
2018-01-17 08:37:32 +00:00
Hannes Domani
76bc20ffce Valgrind: Add heob path to settings
Change-Id: If2fa8c913b20bd30016673d2cf712fb9b85ad9d6
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2018-01-16 19:46:18 +00:00
Hannes Domani
6f63da3728 Valgrind: Enable heob menu entry only if debugging is possible
Change-Id: Ifc2b029538c1dd48e1e9853d52eb1ffae38ea325
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2018-01-16 18:58:02 +00:00
Hannes Domani
6ced413e03 Valgrind: Save current heob settings as default
Change-Id: I9e2ac8aff2830f2a46d86185d198ecf188c5e649
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2018-01-16 18:51:26 +00:00
Hannes Domani
848cece0b2 Valgrind: Run heob process with debugger
Change-Id: Ie026033b04dce73c8f4d7a4adb42f9c08c53cccd
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2018-01-16 18:50:59 +00:00
Hannes Domani
eecc26f40e Valgrind: Add heob support
Change-Id: Ia5957058c59ae2a607620915c2c68f2cfd5ac5f1
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: hjk <hjk@qt.io>
2018-01-16 11:31:33 +00:00
Hannes Domani
306d3f2ac7 Valgrind: Fix crash when missing stacks
Change-Id: I69896f0d0c428f158bdb071b08a1c4b9f031183f
Reviewed-by: hjk <hjk@qt.io>
2017-12-14 07:24:42 +00:00
Tobias Hunger
18f38ff18e Project: Make Project::files return a FileNameList
Change-Id: I75ceb22ac65b8288d824f229d44089cba6fc8ea3
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2017-12-08 09:09:59 +00:00
Orgad Shaneh
951f0e0bbd Valgrind: Fix cyclic connect
Editing the widget triggers rawPathChanged(), which calls
setValgrindExecutable, which emits valgrindExecutableChanged(), which calls
setPath on the widget.

No other path reaches any of these functions.

This causes the cursor to jump to the end, so if you want to change
'valgrind' to '/usr/local/bin/valgrind' you have to jump back after each
character.

Removed the now unused signal.

Change-Id: Iaf4e902fb9a42975e9ada6662b7a64e53fab5cad
Reviewed-by: hjk <hjk@qt.io>
2017-11-17 07:53:32 +00:00
Orgad Shaneh
a02ee529ef Valgrind: Fix callgrind parsing with git version
Commit db860c7cdce8765f8c4ec28127860c8e97ba34ab added a format marker to
the file. First line is now: `# callgrind format`

Task-number: QTCREATORBUG-19004
Change-Id: I2f6ed81044fa0d675a02b9634d8ee8e3ea1da6e5
Reviewed-by: hjk <hjk@qt.io>
2017-11-17 07:37:43 +00:00
hjk
5ca90a4a5e ProjectExplorer: Fix copying of RunConfigurationAspects
Moving aspect data closer to real Value semantics fixes
the regression introduced by 890c1906e.

Task-number: QTCREATORBUG-19186
Task-number: QTCREATORBUG-19192
Change-Id: Ieaeef3995ae06a817f266c1e2514f9e5793bd4e8
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2017-11-10 15:09:59 +00:00
Alessandro Portale
81c5906970 Valgrind: Remove dead code
Change-Id: I77fdb0f07dabf742bccd88016463b01f45c011ca
Reviewed-by: hjk <hjk@qt.io>
2017-10-13 19:56:37 +00:00
hjk
55d9fac2fb Debugger: Clean up outdated includes and files
Change-Id: I1b4b84ff9bfa3f6e0fe3030d70a114e2cf0f0604
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-10-05 08:06:43 +00:00
Laurent Montel
3ddba62aff Valgrind: fix forward declaration
Change-Id: I6fe6a903451a40214224319a5245d57488d9cf05
Reviewed-by: hjk <hjk@qt.io>
2017-09-27 14:24:26 +00:00
hjk
b21742b464 Valgrind: Merge memcheck{engine,tool}.* files
This is purely mechanical in preparation of moving some
per-run items from the MemCheckTool singleton to
MemCheckToolRunner.

Change-Id: I0fcaf6e90b2d63ca8f3c3eb7130ed73ed494f35b
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-09-25 06:55:32 +00:00
hjk
9ff3064561 MemCheck: Code cosmetics
namespaces, includes, use convenience functions when appropriate.

Change-Id: Ibfba9b4ce8d4644829cb308b45b5902e39a57634
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-09-18 14:57:49 +00:00
hjk
7eec0f63ac Debugger: Merge DebuggerStartParameter into *RunParameters
The users (typically target specific DebuggerRunTool derived classes)
are meant to use the individual setter functions nowadays, not the set
up the full structure, so the members are a true implementation
detail now.

Change-Id: Ida04801e3230a2fe8bbadde8845e58c3077c87a5
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-09-13 14:00:59 +00:00
Ulf Hermann
47886969cc Drop unused variables and lambda captures
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>
2017-09-08 09:06:53 +00:00
hjk
0a5abdae59 iOS: Adapt to new setter-based DebuggerRunTool interface
Change-Id: I96f113b831dcbd3735f743c8f12042e9b17903a4
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
2017-09-04 11:59:04 +00:00
Orgad Shaneh
139792ee25 Merge remote-tracking branch 'origin/4.4'
Change-Id: I9ab2c68d2bd07b0dd89051a2f5f6fa51676d8594
2017-08-30 01:24:11 +03:00
Alessandro Portale
d374cd2d76 Valgrind: Add valgrind.qrc to valgrind.qbs
Change-Id: Ieb6855daf932297008a5bc498bc30a7ae0061178
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2017-08-28 18:13:34 +00:00
hjk
d34f33d8d7 Valgrind: Extend and use new DebuggerRunTool interface
Change-Id: I5e015a484e67175be12d538e7f814d61001ad7bb
Reviewed-by: hjk <hjk@qt.io>
2017-08-24 16:21:23 +00:00
hjk
6c5146ac67 Valgrind: Better output message for debuggee exit codes
The values are not "unknown errors", but known to be exit codes of
the debuggee.

Change-Id: Icc5e99d463269f1f167ab7b49b78b92c2e4c6b65
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2017-08-24 12:58:37 +00:00
Eike Ziller
04da881268 Fix copyright year in plugin info, --version, and macOS info
By using the new QTCREATOR_COPYRIGHT_YEAR variable

Task-number: QTCREATORBUG-18612
Change-Id: I3bcf0319660d210436d3130c00f43325c460a66c
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
2017-08-24 11:23:40 +00:00
Ulf Hermann
8b5582c424 ProjectExplorer: Rename worker dependencies to "startDependencies"
There will be stopDependencies, too, which apply when stopping the
runcontrol.

Change-Id: Id72771d28cbb6b254572c9f93db93e0d054b890f
Reviewed-by: hjk <hjk@qt.io>
2017-08-08 13:57:38 +00:00
Robert Loehning
6d4472d6b4 Valgrind: Init members of CallgrindController
Change-Id: Ic35575858391f98c84ee08cf6287c379a7e866da
Reviewed-by: hjk <hjk@qt.io>
2017-07-18 13:52:35 +00:00
hjk
d93da5f5f1 ProjectExplorer: Add and use a RunConfiguration::registerAspect<>
... to register RunConfigurationAspect creating functions.

Change-Id: I9e7a2cef0bc134ac6a7becbd0b5ecb40c26ef118
Reviewed-by: hjk <hjk@qt.io>
2017-07-17 14:00:28 +00:00
hjk
cd5ba75505 ProjectExplorer: Use a real 'finishing' phase for RunControls
Instead of a blunt delete() RunControl::initiateFinish() is triggered
by the closing of the application output instead. The rampdown process
is basically the same as stop() now, except for the other success
signal (new finished()) and the final self-destruction of the
runcontrol.

stop() itself triggers initiateStop() on all running workers in
parallel (before it was in the order of start). This gives
downstream complex worker combinations the flexibility to use any
order it wants by ignoring stop() on 'uninteresting' workers,
and centralizing rampdown e.g. in the main worker. That setup should
be rare in practice, but seems needed in some profiler cases.

Change-Id: I986a152a663754206709ed4df0d4568847afad17
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2017-07-17 12:28:50 +00:00
hjk
6a44992050 Make ApplicationLauncher report QStrings, not QByteArray
Realistically, we only have UTF-8/plain ASCII messages, and if not then
the conversion should happen when the message enters the "creator eco
system" as there's potentially information on the actual encoding
present, not at some random consumer further down the chain.

Change-Id: Ie21199b99255f5c4d28fce3da7db2fd6c3bcfb3a
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2017-07-14 09:27:58 +00:00
hjk
0a2032e434 ProjectExplorer: Rename RunControl::finished to stopped
That's what it is.

Change-Id: I8cf9af23bb7cafe1cde8f165fdbf85cdeb79f7e4
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-07-12 10:06:34 +00:00
hjk
acc86aee5a ProjectExplorer: Move re-runnable decision to RunWorkers
A RunControl is re-runnable if all its workers are,
a RunWorker is re-runnable if it's Stopped and unless it
says otherwise.

Also ensure SimpleTargetRunner only reportStop() once
per run and make process error message re-usable.

Change-Id: I73f5fb724d3026ceb81d5e32a3a71b4814b2bca9
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-07-10 09:02:17 +00:00
Eike Ziller
526e40cba3 Merge remote-tracking branch 'origin/master' into 4.4
Change-Id: I00fe351ee5f2689366c63ba94b042609c47da777
2017-07-04 13:55:35 +02:00
Christian Stenger
ccef9c0294 Valgrind: Fix plugin unit tests
The original tests were written for an older version of valgrind.
Additionally mark startup checks as expected to fail as the error
codes are not processed at the moment.

Change-Id: Iaad272b5977da3a3395064270d2c9442a3e2f313
Reviewed-by: hjk <hjk@qt.io>
2017-07-04 10:55:46 +00:00
hjk
6e7a31c4fe Debugger: Move startupRunConfiguration to RunConfiguration
It's not really debugger-specific.

Change-Id: I2246e08d896df1d625ecce9b8b5428e7ea398851
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-07-04 06:48:13 +00:00
hjk
3408b1ed30 Valgrind: Simplify RunControlFactory setup
Change-Id: Ibef142e84ce1d4aca299dd8fa53b1eabcf517100
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2017-07-03 15:19:13 +00:00
hjk
629c137ef2 ProjectExplorer: Remove virtual RunControl start/stop trampolin
Not needed anymore, effectively replaced by RunWorker start/stop.

Change-Id: I7483c841cdd4e05c9e1f7636a27b20ece37947c2
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-06-30 13:32:34 +00:00
hjk
04b03f79d9 Valgrind: Use Runnable to pass device information
... in case of "External Application" starts.

Change-Id: I6a5c215831f16c51e3cf98c35dbb792f53128d42
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2017-06-30 10:34:07 +00:00
hjk
95300f08e3 Valgrind: Keep tool names in the *ToolRunners only
Slightly less convoluted.

Change-Id: I07410b49db05ea862fb82f3bffc25a5d7fb5a104
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2017-06-30 10:34:01 +00:00
hjk
8678117572 Valgrind: Merge ValgrindRunner and ValgrindProcess
There was a 1:1 matching remaining.

Change-Id: I619bedcda867b642eab37396a0bd48bcb3a5829a
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2017-06-30 10:33:51 +00:00
David Schulz
6591a01452 TextEditor: Add line annotations
Displaying short descriptive text of a TextMark at line end.
Currently implemented for ClangTextMark and BookMark.

Change-Id: Idc6b579bda0382ad94b2e236b715696396b10460
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2017-06-30 08:27:16 +00:00
hjk
3418070a4f Valgrind: Remove CallgrindController's use of ValgrindProcess
It's simply one-shot command execution, using (only some part of) the
ValgrindProcess machinery that just happens to also to wrap a process
is conceptually different from ValgrindProcess that "is" the
valgrind-with-debuggee entity (and an unneeded dependency)

Change-Id: I57a2c3d1cab6b15e59cb41b8e131948c170297b6
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2017-06-29 14:52:46 +00:00
hjk
3610b2a825 Valgrind: Fix Memcheck startup on remote linux
Remote CallGrind is still dysfunctional.

Change-Id: Ib9ab537dc068c94c7e61ac48b1a4b9d655ccb60f
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2017-06-28 15:39:21 +00:00
hjk
682cd36b15 Valgrind: Remove starting() signal
It's only used internally as one-time communication between
worker and the *Tool singleton that handles toolbar button
states.

We basically start immediately after creation of the worker, so
any pre-start tool bar specific operations can be done at
RunWorker creation time.

Medium term, the runworker should proably steer "their" buttons
more directly.

Change-Id: Id6df703746ece5eebc23507739cd2a92ec55d11d
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2017-06-28 09:05:43 +00:00
hjk
fa43f5e314 Valgrind: Add a ValgrindRunner member to the ValgrindToolRunner base
... instead of having one in each derived class.

Change-Id: Icd121ce46b1d161bd2d59eaeaad8363528dc3c23
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-06-26 09:06:57 +00:00
hjk
fc8dee4675 Valgrind: Make the (threaded) parser a proper member of the runner
Simplifies user code, and it was only ever used in a 1:1 relation,
even in the tests.

Change-Id: I3ce4fc83a361aceb730c05420efdb4ea52d37cda
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-06-23 11:30:32 +00:00
hjk
88fd4043d8 Valgrind: Merge MemCheckRunner and ValgrindRunner base
It's mostly the xml/log handling, which can be re-used in other tools.

The change is purely mechanical, including some style fixes and
some modernization.

Change-Id: I6b44ae71451e8d3e26df40b9af9b4ec70038a92d
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-06-23 09:41:28 +00:00
hjk
fe3facb015 Valgrind: Dissolve CallGrindRunner
Basically merge with CallGrindToolRunner, to which there was
a 1:1 relationship.

Change-Id: Iebd9325c36e82b966f873d380395065e087958e4
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-06-22 08:42:34 +00:00
hjk
acc9da0861 Valgrind: Merge MemCheck{,WithGdb}ToolRunner
Change-Id: Iaf0707cf5c06ef29c33da835133948256869c76a
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-06-22 08:38:17 +00:00
hjk
25a75d3fa3 Debugger, QmlProfiler et al: Replace AnalyzerStartParameter
... and QmlProfilerRunner::Configuaration by PE::UrlConnection,
and call it 'serverUrl' on the user side.

That's the only variant we ever had and avoids "translations"
between three structures that are essential the same.

Change-Id: I33386b2b8d2a7985ff934f6f8f840de0831bf9c1
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-06-16 12:19:16 +00:00
Orgad Shaneh
89057b552b Merge remote-tracking branch 'origin/4.3'
Change-Id: I56004e3ec9dc9d92d33bdae438c4f7e069eccc45
2017-06-02 15:13:51 +03:00