Commit Graph

1200 Commits

Author SHA1 Message Date
hjk
e9718b253a Debugger: Partially dissolve DebuggerRunControlFactory
Aspect creation must stay for now as the object pool is the only
central registry for it right now.

Change-Id: Ibe42009db6b0351aaa36e9ac8f0f6f7a0562167e
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-07-11 11:10:44 +00:00
hjk
f82bb1ec3a ProjectExplorer: Remove Connection as concept
It turns out that one "Connection" per RunControl doesn't map
well to the uses we have. Instead, RunWorkers need to know
individually how to connect to the place where they can work,
but they are already specific enough to be able to use a
standard class (like QUrl) as their way to specify the needed
entry point.

In theory one could see a RunControl's connection as an
aggregation of its workers connection bits, but that does
not really seem to be needed in code.

As consequence, replace UrlConnection by a plain QUrl, and also
the HostName connection by a QUrl with hostName set.

Change-Id: I40c97e37779314ac0a77041e864a18eadb78f987
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
2017-07-07 06:23:52 +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
acd50cea8b Debugger: Provide Alt-V + some letter short cuts to enable views
This kind of conflicts with the Alt-V + [0-9V] FakeVim short cuts,
but since those are rarely used and still operational in edit mode
I think that's acceptable.

Change-Id: If232cc6574690e0219eddcaa89d844f498687b64
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: David Schulz <david.schulz@qt.io>
2017-06-27 13:10:52 +00:00
Orgad Shaneh
5f973de952 Merge remote-tracking branch 'origin/4.3'
Change-Id: Ib5405ed2c3356f65b49fe2f454f8ac2e0de44ef6
2017-06-26 08:24:26 +03:00
hjk
3a45d763ca Debugger: Remove DebuggerStartParameters::connParams
It's nowadays a duplicate of a subset of what DSP::remoteChannel
provides.

Change-Id: I95363bd392cb1d24fb1f1e0a2780c2c295929cea
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-06-23 13:09:04 +00:00
hjk
4ecb1283fe Debugger: Do not crash in (im)possible situations
Task-number: QTCREATORBUG-18427
Change-Id: I800c2f8d4ea37b28022d789a2e519e4f5286f08a
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2017-06-22 09:37:37 +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
hjk
2bf14c7614 Debugger: Remove some dead code
Nobody complained for more than a year, this is good to go.

Change-Id: I83811513f9be364a160ad86ecf7ca45a77529e6d
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-06-02 09:11:55 +00:00
hjk
36ec37b29d Debugger: Streamline ramping down
There were only two used target states, and in case of mixed
debugging all parts of the machinery better agree on the
direction. So one bool in the (shared) runTool is sufficient.

Change-Id: Iffbf1651b82dde707cfc37d8da9d3da573b34b76
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-05-19 09:56:49 +00:00
hjk
1f6764a54e Debugger: Move run parameters from engine to tool runner
The parameters belong to the run control, they should not
be triplicated in case of a combined engine.

Change-Id: I4dd84220edbd7a44b902cc52627fe01d0568db75
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-05-18 07:05:09 +00:00
hjk
89f02cba2c ProjectExplorer: Split Target and ToolRunners into smaller tasks
This increases re-usability of activities like 'port gathering',
and makes their use less dependent on actual device implementations.

Change-Id: I017cb74874f2b38c487ba2d03906a675d5618647
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-05-15 14:35:03 +00:00
hjk
fcdc9342b5 Debugger: Normalize some state handling
Remove some now-unusual connection to RunControl::finished
and use a finished() callback in the ToolRunner implementation
instead.

Change-Id: Ieddf05a2258d9a300ac50a739d77d9cfaee10ca6
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-05-04 12:53:13 +00:00
hjk
6e990f96c6 Debugger: Remove DebuggerRunControl
Use plain RunControl + DebuggerRunTool combo instead.

Change-Id: Ib71b5eab50da667b9d71dcc6689d2643ad8ecdee
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-04-28 12:42:29 +00:00
hjk
c2ebce6849 Debugger: Reduce explicit DebuggerRunControl use
Aim is to replace it with its ProjectExplorer::RunControl base.

Change-Id: I30f837050e7c016887dc4b6cfef10b947f4f88ed
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-04-27 07:43:30 +00:00
Eike Ziller
56233f67e1 Merge remote-tracking branch 'origin/4.3'
Change-Id: I01d7d8aa282f2bca94f85f55c832c76672e229f7
2017-04-25 16:15:04 +02:00
hjk
d63abf5567 Debugger: Fix snapshot view icon size
Do what the other views do.

Change-Id: I27a12715806b5d5f73aaa0b756bb08ef1a66a021
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-04-24 12:25:24 +00:00
hjk
e063ca68d0 Debugger: Dissolve Debugger::ActionDescription
ActionDescription was a horizontal layer of convenience functionality
covering (only) ex-AnalyzerBase based RunControl start scenarios
and gets in the way of target/tool orthogonalization.

So continue the path chosen with the removal of AnalyzerRunControl:
Remove ActionDescription by inlining into user code, then orthogonalize
tool-by-tool, then generalize again.

Change-Id: Ib597df3f4ad7b06bef06644458fa13ddca53afdb
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2017-04-24 09:52:48 +00:00
Eike Ziller
88897f3a87 Merge remote-tracking branch 'origin/4.3'
Conflicts:
	src/plugins/genericprojectmanager/genericproject.cpp
	src/plugins/genericprojectmanager/genericproject.h
	src/plugins/genericprojectmanager/genericprojectnodes.cpp
	src/plugins/genericprojectmanager/genericprojectnodes.h

Change-Id: Ie0c870f68c8d200a75489b75860987655b2f6175
2017-04-19 09:56:14 +02:00
hjk
5d97c4871a ProjectExplorer: Remove startRunControl()'s runMode parameter
It is redundant, as a RunControl has a runMode() getter.

Change-Id: Ia048b271a5003356d21f86a3f778827d23466037
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2017-04-12 12:11:49 +00:00
hjk
ee27248a56 Debugger: Streamline DebuggerRun{Control,Tool}Setup
Only one code path needed once we have a RunConfiguration.

Change-Id: Ib65f471a929a0c70694dd142b4f83be7eebbe151
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-04-12 11:56:44 +00:00
hjk
9ad669b494 Debugger: Remove unused ActionDescription::isRunnable
Change-Id: If09d188bdf3e03929ed0371258a0952709e53643
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-04-12 07:45:32 +00:00
hjk
112e32228a ProjectExplorer: Merge AnalyzerRunControl into RunControl
The change is "conceptually wrong", the AnalyzerRunControl derived
classes' functionality should be provided by ToolRunners based classes
encapsulating/"being" the current Analyzer*Runner classes.

However, the AnalyzerRunControl is only three (empty even) virtual
functions, but a big obstacle in merging attempt due to a lot of
mechanical followup changes in downstream users.

The current construction mechanism of analyzer run controls is actually
two different mechanisms (locally direct RunControlFactories, and a
"generic" createAnalyzerRunControl wrapper for remote cases). The generic
createAnalyzerRunControl makes it difficult to migrated them one-by-one,
due to the various downstream users.

So instead of merging the per-analyzer two uses directly reduce
the "indirection" distance by removing the AnalyzerRunControl
intermediate layer. After that the createAnalyzerRunControl mechanism
can be dissolved by using normal RunControlFactories also for
the remote cases. After that, porting to ToolRunner, and combining
with ther local equivalent can be done one by one.

Change-Id: I0ddace33fcce210cf3a547ac5bb23b3d85013934
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2017-04-05 13:47:53 +00:00
Orgad Shaneh
8a4b0aeabf Debugger: Fix crash on shutdown
If the application fails to start (like an empty exe file), the debugger
remains in "active" state, and it crashes on shutdown.

Change-Id: I6ae3a98d507856ea40375edb15c9ea4605e3efc6
Reviewed-by: hjk <hjk@qt.io>
2017-04-04 14:30:06 +00:00
hjk
32ae4d3e09 Debugger: Use Utils::ProcessHandle for DebuggerEngine::m_inferiorPid
That's the intended "typesafe" use.

Change-Id: Ib288fe87a47bd9484bda83e05406f0d22989b3c2
Reviewed-by: David Schulz <david.schulz@qt.io>
2017-03-01 07:56:18 +00:00
Eike Ziller
1704c484a8 Merge remote-tracking branch 'origin/4.2'
Change-Id: I9006dd493707ae626ae3502541599c8789e1aab0
2017-02-27 15:17:37 +01:00
Eike Ziller
d64e17ad55 Move mimetype definitions to plugin specs
- Avoids the hassle of QRC files and manually registering mime types
- Avoids performance regressions because of mime types that are
  registered after mime database has been used
- Makes it technically possible to detect that a disabled plugin could
  handle a mime type if it was enabled

Change-Id: I373008b1b56e9c6b4853055f20b3eeb112a6eff9
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2017-02-27 13:54:59 +00:00
hjk
4637b3fed7 Debugger: Don't crash if targets vanish if the last kit is deleted
Task-number: QTCREATORBUG-17702
Change-Id: I42cc08cab67f57d749898f5b01925b7ef3658165
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-02-23 10:04:32 +00:00
Tim Jenssen
2631ffabd5 Remove spaces in initializer lists
Format initializer lists code style like.

Change-Id: Ib82c235e4ba7dc75ee96a7abc0c47eff7b0a9013
Reviewed-by: hjk <hjk@qt.io>
2017-02-22 16:25:09 +00:00
hjk
eb579dec4f Debugger: Avoid some signed/unsigned warning
Change-Id: Ie61b0b33a912591927db7f3173f50ee100d52faf
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-02-22 09:37:06 +00:00
hjk
a4c0712cb2 Debugger: Add a message when trying to evaluate a bad expression
Change-Id: Id10f11876e9b6c852a04add6bd75aec7e8337891
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-02-21 12:26:27 +00:00
hjk
1336826460 Debugger: Make "Add Expression Evaluator" available in QmlJS editor
Task-number: QTCREATORBUG-17754
Change-Id: I249e904634edbfd30bd11a4402470c3d5586478c
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-02-21 11:20:09 +00:00
hjk
7f73f3950e BaseTreeView: Make resizeColumns() publicly accessible
Simplifies the only used code path through the model and a custom
signal.

Change-Id: I9bbab725cdd122b7261a8f14b101786e38e61e57
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-02-21 09:16:51 +00:00
hjk
56409f5afa Replace a few occurrences of QStringList() << ...
... by something shorter.

Change-Id: I363b4e509adb07997517b2d233246a333aea4aea
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-02-08 11:21:45 +00:00
Eike Ziller
b299ff19ec Merge remote-tracking branch 'origin/4.2'
Conflicts:
	src/shared/qbs

Change-Id: Ic39fd1c411632f56312fae31c0c88ebc1098b5a4
2017-01-30 10:55:40 +01:00
Filipe Azevedo
28fd07e95a Add api to get some debugger state about engines
That’s needed for GammaRay integration.

Change-Id: I67a5dba81fa8d88024395126c45d0a3e9cfdd457
Reviewed-by: hjk <hjk@qt.io>
2017-01-26 14:00:12 +00:00
Tobias Hunger
5d213cc5da Debugger: Add missing #include <utils/temporarydirectory.h>
Change-Id: I45f104511f4ae840b42d4e1f7808953860c039a9
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-01-20 15:01:52 +00:00
Tobias Hunger
c6f90e575e Utils: Introduce a TemporaryDirectory and TemporaryFile class
Both wrap the corresponding Qt class, but make sure all temporary files
or directories are created inside a "master temporary directory".

Change-Id: I55461be507c828c965224c02863ea5ed9bbf9498
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-01-20 12:17:10 +00:00
Tobias Hunger
25fbcca96b KitManager: Get rid of KitMatcher class
Use std::function instead. Clean up API while at it.

Change-Id: I6e401ab57f5375e36710c30508c596af3f4b3385
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2017-01-18 10:39:16 +00:00
hjk
99f2c07403 Merge DebuggerItemManager and DebuggerItemModel data
Change-Id: I400fe94316433c538f82badde12ad704d722d730
Reviewed-by: James McDonnell <jmcdonnell@blackberry.com>
Reviewed-by: hjk <hjk@qt.io>
2017-01-16 17:29:34 +00:00
Tobias Hunger
1b0c2a28d1 Debugger: Fix cdbMatcher to match on wordsize
Change-Id: Iaf08cefb9327628d79a87e8664c38f96b6894e8c
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2016-12-01 14:54:51 +00:00
Filipe Azevedo
27d155636a Export currentPerspective() from debugger window
Change-Id: Icef2b21e86f678bdd9f10dc26197db97bba6ade9
Reviewed-by: hjk <hjk@qt.io>
2016-11-22 13:25:28 +00:00
hjk
80b2a4f1ba Debugger: Expose DebuggerKitInformation::ConfigurationErrors
... to allow more fine-grained decision making for kit choosers.

Change-Id: I9a4e97f7b4f4b074e1c764f6b134c15e2896dc79
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-11-16 08:37:35 +00:00
hjk
5a9b6bb694 Debugger: Shrink location marker in breakpoint and thread view
Fixes a recent regression.

Change-Id: I4202ec62c9fa165e7f602c11a92eb1bf8bbe73f0
Reviewed-by: hjk <hjk@qt.io>
2016-11-01 12:22:39 +00:00
hjk
e9c4d4a56b Debugger: Make icons in breakpoint view smaller again
Change-Id: I05e68f5ab7004f063ba8577a78bad23a51a06330
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2016-10-05 16:09:10 +00:00
Eike Ziller
90cf4487a5 Merge remote-tracking branch 'origin/4.1'
Conflicts:
	src/plugins/autotest/qtest/qttestoutputreader.cpp

Change-Id: I4b323f2f3041d015fa04b9a25ec925f3b3e2411f
2016-10-05 15:28:04 +02:00
Eike Ziller
a47ad71b60 Fix that editor actions were disabled in navigation bar in debug mode
The mode widget needs the editor manager context, not only the debugger
main window.

Task-number: QTCREATORBUG-16543
Change-Id: Ibe92043a374d9fd507e62998f67c0ce897b198e7
Reviewed-by: hjk <hjk@qt.io>
2016-09-29 09:58:12 +00:00
Ulf Hermann
72cca4855d Debugger: Have main window handle mode change separately
On shutdown the DebuggerMainWindow might not be alive anymore. By
connecting the signal handler to the window, rather than the plugin we
avoid dereferencing null pointers in that case.

Change-Id: I6421eebc6b1b76f176b31eafeb039d91edd3f0b3
Reviewed-by: hjk <hjk@qt.io>
2016-08-26 11:52:23 +00:00
Ulf Hermann
8951394704 Debugger: Don't reselect a perspective if it is already active
Selecting the same perspective again will not result in any visual
changes, but repaint the whole window. This is unnecessary overhead.

Change-Id: If41464ea023b2085482d5ab547cd9eeb91ce047f
Reviewed-by: hjk <hjk@qt.io>
2016-08-23 10:30:50 +00:00
Ulf Hermann
15fbfaf2e9 Move icons to Utils
This way we can use them from libraries, not only from plugins.

Change-Id: Ic35cfd5f04d638d87606bf272b2c00ded1267c1b
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2016-08-05 10:52:53 +00:00