Commit Graph

235 Commits

Author SHA1 Message Date
hjk
1a1c9bf828 Debugger: Use shared TerminalRunner also for CDB
Change-Id: I2dd9b16f5699d0551a2de3e8ebefc865b98ad862
Reviewed-by: David Schulz <david.schulz@qt.io>
2017-10-13 12:31:31 +00:00
Eike Ziller
07bec99e8f Merge remote-tracking branch 'origin/4.5'
Conflicts:
	src/plugins/debugger/debuggerruncontrol.cpp
	src/plugins/projectexplorer/gcctoolchain.cpp

Change-Id: Iaad0659293681cce4266fc3e4ba2a4f2068de911
2017-10-09 12:09:27 +02:00
hjk
2564e8d782 Debugger: Move core file unpacking into RunWorker of its own
Change-Id: I99b7e6fc8eb9054a4135f693581575c3b8b541df
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-10-05 12:21:30 +00:00
Ulf Hermann
fb370f460d Move URL utilities from ProjectExplorer to Utils
This way we can access them from the qmldebug library.

Change-Id: I90ba80228f44a9d5ea825ad59f4bd1572969980e
Reviewed-by: hjk <hjk@qt.io>
2017-10-05 08:54:39 +00:00
hjk
9089b3acbd Debugger: Only set cppEngine if there's any C++ debugging
Fixes a regression introduced yesterday with 58a69c461a.

Change-Id: I9eea3d0adf45e2b65b7d395280ae0e0fbbe01127
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-10-05 08:11:20 +00:00
hjk
58a69c461a Debugger: Remove DebuggerRunParameter::masterEngineType
It is a fixed value in the respective contexts, no need to track
this 'state' separately.

Change-Id: Id442202ff7a72baf5a2b19ba4bb9dfec5f47fb70
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-10-04 14:06:52 +00:00
hjk
9f3e104e37 Debugger: Simplify QmlEngine construction
Change-Id: Id237998cf2d9a03f9c2929043fdb45ac49d4addb
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-10-04 08:54:10 +00:00
hjk
af63f488c2 Debugger: Simplify CdbEngine construction
Moving the knowledge that this won't work well outside windows
kind of decreases encapsulation, but that's not really worth the
complication of the error handling here.

Change-Id: Idcb6f6d64f33ee8c49a01e62e20aad16d3f01b86
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-09-29 14:12:54 +00:00
hjk
0c8283234a Debugger: Simplify GdbEngine construction
Change-Id: I4af1cb7d7480b1db68693881254cbc89d985c33e
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-09-28 07:52:16 +00:00
hjk
b11f304ffb Debugger: Remove more non-const acccess to start parameters
Change-Id: I1311b652bb56ef4b9b51cca6b39be2b2215e0074
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-09-28 07:42:24 +00:00
hjk
895acd23e3 Debugger: Move external terminal into separate RunWorker
Change-Id: Ifb9701f840195ba90db48a0f6fa07b28e0409648
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-09-27 12:16:19 +00:00
hjk
295d3d7170 Debugger: Avoid use of dummy RunConfigurations
Allow to rely on kit plus data directly specified in the dialogs.

This means, RunControls with nullptr RunConfigurations are allowed
again.

Change-Id: I0b574b397603c0520c8187a8967bff2cf5e20ae8
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-09-26 06:29:31 +00:00
hjk
63e2f9ccdb Debugger: Remove non-const access to RunParameters
The idea is that they shouldn't change after start() to
be re-usable for an additional run later.

Change-Id: I272fc975657b0d8b5b13a07d58bd0b626868d32e
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-09-21 12:46:52 +00:00
hjk
0a226c77b0 Debugger: Replace RunParameter::languagues by individual bools
There was almost 1:1 overlap with DebuggerRunTool::is{Cpp,Qml}Debugging,
use one version only.

Change-Id: I4a8f2b7005d3f2e440cdab3eaf6ac476af894308
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-09-21 10:33:39 +00:00
hjk
189dbc585e Debugger: Fix misplaced {
Harm was limited, as these were the fallback values for terminal
and working directory that are overridden in all cases with
real RunConfiguations.

Change-Id: I7d3cef1ac814a0ffcf60a8977e0ae13136ea50b5
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2017-09-20 14:10:49 +00:00
hjk
434e895b73 Debugger: Remove parts of the engine parameter fixup phase
The idea is that the fixup should not be needed at all anymore,
instead, static data coming e.g. from the RunConfiguration should
be setup in the constructor, and everything else should be ready
at entry into start().

This also proceeds on path to the planned-but-never-implemented
idea that the RunConfiguration should (at most) be accessed at
RunControl creation time, not later.

Change-Id: I04d622785f5de628a7bb479bc0c39aff7d6cce01
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-09-20 11:49:15 +00:00
hjk
c4e6678b50 Qnx: Partially fix Attach to Running process
Only works for opened, active project, but better than before.

Change-Id: Icafe3a9605cea29cd16ed4bd316bf195e78efdb5
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2017-09-18 14:56:50 +00:00
hjk
d2aaa26653 Debugger: Remove DebuggerRunTool::setRunParameters()
It's all coming via individual setters now.

Change-Id: I373f43963e696fa7223f9d664de1df1bc8b021e5
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-09-18 13:01:28 +00:00
hjk
f885785564 Debugger: Remove use of setRunParameters in Qml attach dialog
Change-Id: I90ef143b9c9a0d8606e7d00346c1e508c32a4d88
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-09-18 09:58:46 +00:00
hjk
62ada96091 Debugger: Remove serverStartScript run parameter
Instead, create the resulting RunWorker as dependency directly.

Change-Id: Id15005bb5707bb97dfc61cc2f84409e759e60f9f
Reviewed-by: hjk <hjk@qt.io>
2017-09-15 13:34:06 +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
hjk
67b4a7a872 Debugger: Replace a few more uses of setRunParameters
Change-Id: I8f35bcd3812402cda7d3c69eb01ed3d3fb9e396a
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-09-13 06:26:36 +00:00
hjk
001d4c10a7 Debugger: Remove use of setRunParameter() for state auto test
... which are disabled anyway.

Change-Id: Id15de0e5b766373570d89bacf02464e46f5b2b89
Reviewed-by: hjk <hjk@qt.io>
2017-09-12 15:34:23 +00:00
hjk
c26149dc43 Debugger: Integrate setupEngine() into tool start()
... a step towards abandoning the engine-related bits of
the debugger state machinery. The base RunWorker states
meant for that are good enough now.

Change-Id: I3b269bdeb66f14a956b76e6a7e8258f45b3e59e5
Reviewed-by: hjk <hjk@qt.io>
2017-09-12 14:36:22 +00:00
hjk
8e96bc9176 Debugger: Dissolve createEngine
It was a recursive wrapper taking too many arguments to handle
what is at most a two-stage linear process. Making that explicit
is shorter and clearer.

Change-Id: Ibcb3422ff29b36b2b4df174fcffa8af62c254701
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-09-12 11:53:22 +00:00
Jarek Kobus
b506fce0fe Fix string messages
Found during translating.

Change-Id: I9626b3393d7b53300f7c806acbc5e12bc58574d2
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2017-09-11 08:29:41 +00:00
hjk
808f192ff8 Qnx: Dissolve a QnxDebugSupport setRunParameter() use
Change-Id: I54cacf6dbcb5f68a2f063e41a86fc6d0c33da900
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-09-11 07:58:28 +00:00
hjk
e44d16e3de Debugger: Remove convenience DebuggerRunTool constructors
Use setRunParameters() for now, and individual setters later.

Change-Id: If7d044ea249b79ce117897a976659e9302bfc544
Reviewed-by: hjk <hjk@qt.io>
2017-09-08 13:53:51 +00:00
hjk
440f2ba028 Debugger: Dissolve a few more setRunParameter() cases
Change-Id: I92d7b75c9a9758ab8c2ad8f9956ebcd8ecc9cb69
Reviewed-by: hjk <hjk@qt.io>
2017-09-08 13:42:18 +00:00
hjk
49c14f5616 Debugger: Remove non-unneded DebuggerRunTool::setStartParameters
Change-Id: I5647f0c7232fbc12c66902a42c7a09f47cdef547
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-09-07 07:19:21 +00:00
hjk
5e871ddb65 Debugger: Dissolve createAndScheduleRun()
... into DebuggerRunTool creation and explicit RunParameter bulk setting,
which later is to be replaced by setting individual parameters.

Change-Id: Ic4d2c6d10d659287ae61fdb4db735e658e3a68ce
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-09-07 07:08:47 +00:00
hjk
898eb4a460 Debugger: Move .useTerminal modification to central fixup
Even if this is LLDB-specific having the value fixed early
will help in moving terminal handling into a RunWorker
of its own.

Change-Id: I73a9564148dec9b28557c12cc248a4f0b668f8d7
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-09-06 12:54:21 +00:00
hjk
a512c8e0c8 Debugger: Centralize some parameter sanitization
Change-Id: I00e7c22adcf32ba8251b357e75eb9207b6f98f1b
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-09-06 09:57:27 +00:00
hjk
706fb1a2b6 Debugger: Make setFixupNeeded() accessible to user code
Change-Id: I470b91e5ad80f2086f49c48d00975dd66444aa30
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-09-05 13:41:29 +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
hjk
82ce3c885f Debugger: Extend new setter based interface
Needed for WinRT and BareMetal

Change-Id: Iad8b4c36df6f004f74cb66dbf730b2ca43a0e413
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-08-25 11:00:43 +00:00
hjk
503a73d527 AutoTest: Use new setter based DebuggerRunTool interface
Change-Id: I559bef1b088af9009247542730208d18b514b118
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-08-25 05:50:16 +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
ce62181cb8 Debugger: Add a few convience setters for some run parameters
The idea is to use them later to make the DebugRunTool setup leaner.
As proof of concept, use the new interface in LinuxDeviceDebugSupport.

Change-Id: I045ba4d05cfc56a9e875fd4461e9f562153872dd
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2017-08-24 15:21:27 +00:00
Eike Ziller
ddd9e96afa Merge remote-tracking branch 'origin/4.4'
Conflicts:
	qbs/modules/qtc/qtc.qbs
	qtcreator.pri
	src/libs/utils/utils-lib.pri
	src/plugins/clangcodemodel/clangbackendipcintegration.h
	src/shared/qbs

Change-Id: I240e89afc76d8f40ce69d66683014b603f714707
2017-08-23 12:12:41 +02:00
hjk
c128731ff2 Debugger: Use a QUrl for Qml server port and host
Host and port reasonably belong together, using a QUrl makes that more
explicit and follows the lead of the Qml profiler in that area.

Change-Id: I754cb17d165ce6b2f25c655eeebfd8ac8f5a93c7
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
2017-08-23 09:13:40 +00:00
hjk
cfad538acf Debugger: Fix attaching via app output pane
Task-number: QTCREATORBUG-18604
Change-Id: Id41f3fe1bf08965cfdaf21a7059fc2f1db49ecc7
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-08-23 08:18:21 +00:00
hjk
c0e417dcbf Debugger: Move the server start script handling to separate worker
It's currently only used via Debug->Start Debugging->Attach
(misnomer...) to running debug server, and only honored by GDB.

Moving it to a separate, centrally created worker makes makes it more
widely available and reduces the need for 'custom' handling in
the GdbRemoteServerEngine.

Change-Id: I39de7a5d8b64fc35d4bf93878e38c1866db90379
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2017-08-21 13:25:28 +00:00
hjk
885f8b5385 Debugger: Short-circuit part of the parameter fixup machinery
... which should not exist to start with, and interferes in some
cases where the user code knows better.

Change-Id: Ie0b0038af3a4056fad8655d06f677fc800c99f8d
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2017-08-14 16:03:25 +00:00
hjk
c839e86863 ProjectExplorer: Introduce RunWorker::reportDone()
To be used for short-lived tasks to signal that they are done.
Essentially an optional reportStarted() followed by reportStopped()

Using it in GdbServerPortsGatherer when the port list is ready fixes
the wrong "un-stopped" situation in RemoteLinux debugging when
the inferior finishes by itself.

Change-Id: I310831a7875fe6f2c598302b73cda6c9669efb1d
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2017-08-09 14:12:45 +00:00
Orgad Shaneh
e2e109c862 Debugger: Work around race when running from command line
If the project was not parsed yet while the debugger is invoked,
activeRunConfiguration is still null, so the debugger doesn't start.

Task-number: QTCREATORBUG-18551
Change-Id: I02d77fa8fb1b2a3673da5cbf28ea36156498918c
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-08-01 11:33:37 +00:00
Leena Miettinen
6fccc45a92 Debugger: Fix UI text to follow the guidelines
Change-Id: I7afa680c15f9dacfa8b0a17c16c442211d4fc7ce
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2017-08-01 11:15:04 +00:00
Orgad Shaneh
e9aaeb22f8 Refine the creation of a dummy project for the debugger
If the startup project doesn't support the chosen kit, it fails.

Task-number: QTCREATORBUG-18606
Change-Id: I745768e7e9ee1740dadaae05d02dcc45f9e9ebef
Reviewed-by: hjk <hjk@qt.io>
2017-07-20 09:57:06 +00:00
Orgad Shaneh
023edafe4c Debugger: Fix copy-and-pasto in qmlDebugging
Change-Id: I89af5e4cc555457d4b55cd94049175618dc059d8
Reviewed-by: hjk <hjk@qt.io>
2017-07-14 06:19:26 +00:00
Orgad Shaneh
b710f79bef Debugger: Reduce one call to runnable()
Change-Id: I8e0ce18fa65a3281fcadf9b5a8ffb4008a0cf294
Reviewed-by: hjk <hjk@qt.io>
2017-07-14 06:19:09 +00:00