Commit Graph

717 Commits

Author SHA1 Message Date
Orgad Shaneh
e231073a40 Qbs: Enable exceptions where needed
Align with qmake project

Change-Id: Ic68619a0b5e3bf6052c8b52165337063a24e2b5d
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
2016-05-02 09:19:05 +00:00
Volker Vogelhuber
c4f9c6f265 fix environment variables on remote valgrind
Change-Id: I01836cf90d4d905d5edc859e110372a6e634a683
Reviewed-by: hjk <hjk@theqtcompany.com>
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
2016-04-27 11:08:25 +00:00
Christian Kandeler
a14e7db1a4 Fix valgrind with remote Linux hosts.
This reverts commit f1ccad12dc and adds the necessary code to make both
the local and the remote case work.

Task-number: QTCREATORBUG-16153
Change-Id: I233ec9d7b31ca6e076515dd03ae7400758ee0c34
Reviewed-by: hjk <hjk@theqtcompany.com>
2016-04-26 15:40:35 +00:00
Eike Ziller
4a826ada04 Merge remote-tracking branch 'origin/4.0'
Conflicts:
	qtcreator.pri
	qtcreator.qbs

Change-Id: I0cbc9d335073e3234f472aa43f462eef9a9178aa
2016-04-22 15:13:58 +02:00
hjk
ae9fff17a1 Use function objects for IRunConfigurationAspect::createConfigurationWidget
Change-Id: Ief70ed8fc2731ad21b00c74407ff4b659d705caf
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2016-04-22 08:53:59 +00:00
Alessandro Portale
5e32183c9b Theme: Separate run/stop/interrupt icons in menus
And for that, we also need separate theme color roles.

Change-Id: I27bf4499acb516f7f824f5e57632797653b150ec
Reviewed-by: hjk <hjk@theqtcompany.com>
2016-04-21 15:57:56 +00:00
Eike Ziller
8a77eacf8d Merge remote-tracking branch 'origin/4.0'
Change-Id: Ied609608f6b12aa923c67777bc5a273c4d8fbcbb
2016-04-15 10:07:55 +02:00
Christian Stenger
0a9e40dc9d Valgrind: Avoid soft assert on missing line numbers
If callgrind does not find a valid line number information trying
to paint the respective text mark runs into a soft assert.
Avoid this by not creating a text mark for such results.

Change-Id: Ib1c49db82fd4d46bf84ecdc398b88fb0ca09707d
Reviewed-by: hjk <hjk@theqtcompany.com>
2016-04-15 04:56:52 +00:00
Alessandro Portale
a84fe0b762 Icons: Removing several duplicates and variations of the eye_open icon
Change-Id: I598005ac81bd847d3d5e88c3d78a0e945c8026c5
Reviewed-by: hjk <hjk@theqtcompany.com>
2016-04-12 13:57:08 +00:00
Eike Ziller
5c87432260 Merge remote-tracking branch 'origin/4.0'
Conflicts:
	src/plugins/qmldesigner/components/propertyeditor/propertyeditorqmlbackend.cpp

Change-Id: I6ae2d37290643d69390f679a54f7596782f3d97f
2016-04-12 11:34:46 +02:00
Alessandro Portale
9373f76b2a Icons: Move Run/Stop/Interrupt from projectexplorer to core
Change-Id: Iba65c2ede538049c9b203fd4c2f99ef552019862
Reviewed-by: Alessandro Portale <alessandro.portale@theqtcompany.com>
2016-04-10 20:08:43 +00:00
Christian Stenger
ed7d5e0d62 Valgrind: Fix compile on Win
Fixes compile error C3487 ('const Valgrind::XmlProtocol::Frame':
all return expressions in a lambda must have the same type: previously
it was 'Valgrind::XmlProtocol::Frame')

Change-Id: I6545cd2eda1fba4058bf0dc59ed835fed07f86e8
Reviewed-by: hjk <hjk@theqtcompany.com>
2016-04-08 10:38:05 +00:00
hjk
916b92228a Valgrind: Use a lambda to provide filtering in the error model
Makes code more compact and local.

Change-Id: Id8973558292257e4d8a5a2648cd93f54411984a8
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2016-04-07 12:46:48 +00:00
Leena Miettinen
1b62a10a35 Valgrind: Fix UI text
- Fix typo in product name
- Fix grammar issue
- Use standard phrasing
- Fix capitalization

Change-Id: I0456c60943b51b19d5f03fb2908a7cc5af1f3595
Reviewed-by: hjk <hjk@theqtcompany.com>
2016-04-05 13:41:20 +00:00
Oswald Buddenhagen
e426d08e54 Merge remote-tracking branch 'origin/4.0'
Conflicts:
	qtcreator.pri
	qtcreator.qbs
	src/plugins/debugger/debuggerruncontrol.cpp

Change-Id: I81b43480a1369e3d7be60ae26e812dda6b962b0b
2016-04-01 17:31:39 +02:00
Alessandro Portale
52a6e03942 Valgrind: Fix callgrind's "Cost format" button
Broke after 0a89b89065

Correct fix seems to me to avoid the whole menu.

Change-Id: I59f1eb859c9045fc5ae9ac1b377b7e69b29af7ae
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2016-03-31 11:47:28 +00:00
hjk
39a38d5679 Wholesale conversion to #pragma once
Kudos to cgmb and https://github.com/cgmb/guardonce

Change-Id: Ifa8970734b8d43fd08c9260c645bdb0228633791
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2016-03-30 15:20:19 +00:00
Orgad Shaneh
0a89b89065 Valgrind: Fix memory leaks
Detected by memcheck.

Change-Id: I7eaf4cf7ee2b4c03b03bfc1bbc2d49c68612b6ad
Reviewed-by: hjk <hjk@theqtcompany.com>
2016-03-26 17:25:43 +00:00
Orgad Shaneh
f9a49118dd Valgrind: Remove unused and unimplemented function
Change-Id: I5f7571f5f275881b67556ed1d53589bd5a7d0110
Reviewed-by: hjk <hjk@theqtcompany.com>
2016-03-25 17:20:12 +00:00
hjk
259c3cb4d4 Debugger: Fix object leakage on shutdown and heap-use-after-free.
Task-number: QTCREATORBUG-15938
Change-Id: I437756705c33730398a129651fabe34c92334656
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2016-03-24 15:02:56 +00:00
Orgad Shaneh
e75b88cd7c Valgrind: Do not open a terminal for callgrind control
Change-Id: I22892d43abc341703a2d046dc1d3b9bf4b736394
Reviewed-by: hjk <hjk@theqtcompany.com>
2016-03-11 09:26:06 +00:00
hjk
2d4c144fd3 Valgrind: Disable start actions during building
This prevents multiple starts of the same tool.

Change-Id: I2df89fa4336ff649a56c4dfb1f721ac31497d396
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2016-03-10 11:22:41 +00:00
hjk
9fba0a6e03 Valgrind: Clean error view on run control startup again
Fixes a recently introduced regression.

Change-Id: Ia36977df87906c320527123f84dd1a347768b06c
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2016-03-10 10:03:23 +00:00
hjk
a8b396b484 Valgrind: Fix filter initialization
Change-Id: Ib136a3abd2f0432001016e17f856cf042a8d2dd6
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2016-03-08 12:55:35 +00:00
hjk
92e301a054 Debugger: Merge debug mode and analyze mode
On the user-visible side, only the 'Analyze' mode button disappears,
and instead a combobox to switch between different tools in appears
in the Debug mode toolbar.

Internally, that's quite some re-organzition: The centralized
'Analyze mode is busy' flag is gone, allowing us to run e.g.
ClangStaticAnalyzer and MemCheck in parallel.

Analyzer tools and debugger now share the same mechanism to
generate/load/save dock widgets.

Analyzer tools now create and handle their own start/stop button
when appropriate. In general, Analyzer tools can create/handle more
than one run control at a time.

Further consolidation is possible, e.g. RunControl state handling
could be merged into the base ProjectExplorer::RunControl to
avoid the still existing duplication in ~15 instances.

Change-Id: I91e5940ebc4211f98056d507cf2f7b5f8efe7f07
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2016-03-07 15:06:10 +00:00
hjk
c326011feb Valgrind: Shorten and correct start action name
The applications to attach to do not have to be remote at all.
Also, the name should be as short as possible as space in the
status bar is not unlimited.

Change-Id: I1df8e025114cd8ad94daa5219c26e61ce70e5e5d
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com>
2016-03-07 14:57:27 +00:00
hjk
9ff81d5c68 Debugger: Make Perspective status label global
After some discussion we agreed that the contents is ephemeral
and does not need to survive perspective switching.

Change-Id: I41de6a8f9478e4bd229c8b204ef7a3fa0a344b75
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2016-03-02 13:14:14 +00:00
hjk
7a5226aa47 Valgrind: Clean up tools interface a bit
Mainly move tool specific code from plugin.cpp to *tool.cpp.
Clean up includes etc.

Change-Id: Ic968ead9d93099c59abe9f99a9db529305160f95
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2016-03-02 13:14:07 +00:00
hjk
f3bd7412ef Debugger: Remove return value from AnalyzerManager::createDockWidget()
Change-Id: If6cd2a68f2f99a1977ded0f05a12790194143274
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2016-03-02 08:08:15 +00:00
Christian Stenger
7985b518c2 Valgrind: Avoid soft assert when no project is opened
Change-Id: I3ff8a3dbc3b6115824477e307c03d9a2c0d19285
Reviewed-by: hjk <hjk@theqtcompany.com>
2016-02-29 13:06:46 +00:00
hjk
9c7146a881 Valgrind: Always use global settings if no project is loaded
Change-Id: Id52ec4fff052cbbafef1c83c1a864e259c55b148
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2016-02-29 12:02:57 +00:00
hjk
931ee3382c Analyzer: Rework the dock widget layout generation
Decouple layout generation from widget generation and
separate analyzer action description from menu action creation.

Tool specific layouts are named "Perspective" now.

Change-Id: I774efe77a07640c4cc26e4e566662c8a673c8831
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2016-02-29 10:47:43 +00:00
hjk
aaf05f5acd Move analyzerbase to debugger
This is the first mechanical step to execute on the 'shared pool of
debugger/analyzer views' idea.

Future steps would be providing infrastructure for the view pool,
making all analyzer/debugger views use the pool and then re-extract
a sensible base for a 'analyzer-and/or-debugger' tool plugin interface.

Change-Id: I1bb392e6dd3084fc56937956bee1d6fd9530335d
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2016-02-25 12:31:06 +00:00
hjk
f1ccad12dc Valgrind: Remove MemcheckRunner::localHostAddressRetrieved() etc
It was only ever used to run second valgrindProcess()->setValgrindArguments
(fullValgrindArguments()) in the memcheck tool which was already done in
ValgrindRunner::start()

Change-Id: I95a6005e2131eea25215f17cd0e7244a3d8df12e
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
2016-02-03 08:46:30 +00:00
hjk
bbadda2f25 Valgrind: Use SshConnectionManager to handle connections
Change-Id: I15a985880cdd48b74524089492dc9a32f7448999
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
2016-02-02 21:36:30 +00:00
hjk
c49a813552 Valgrind: Simplify ValgrindRunner::Private setup
Change-Id: I0842544abfe55e9f168e6e19b2bd8c38cf506564
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
2016-02-02 16:09:43 +00:00
hjk
e7132f6714 Valgrind: Remove unneeded 'slot' markup in CallgrindRunner
Change-Id: I1f4b6855cc3fc3a418e26f4900c3fd439cfa6f36
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2016-02-02 15:41:35 +00:00
hjk
3f4d107b0b Valgrind: Remove runtime dependency to RemoteLinux
Not needed anymore. The combination works nevertheless.

Change-Id: I3e24be38061b78b1d107eed5b2f1ae4cc1cfc64f
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
2016-02-02 15:28:53 +00:00
hjk
dcfb622126 Valgrind: Simplify device setup and handling
Make isLocal() less intrusively used and correct.  Use the stored device
more often, also handle errors more quickly.

Change-Id: I146d1f5788ea79d0a9d7b058c81908d451cf00d0
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
2016-02-02 14:14:02 +00:00
hjk
0ffbb5a041 Valgrind: Postpone the decision on whether its a local run
The decision is wrong anyway, no harm done. Move it closer to a
location where it can be done correctly.

Change-Id: I92de8ffec92cae6b3de3322d5045b696ae62932f
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
2016-02-02 12:33:18 +00:00
hjk
75b6dc018b Valgrind: Remove unused ValgrindRunner::Private:workingDirectory
This is covered now be the debuggee member.

Change-Id: Id2983e2b8d74236249263fdd4b867bd310bf20cc
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
2016-01-29 16:28:08 +00:00
Christian Kandeler
3d9409311f Valgrind: Quickfix for remote execution.
Lots of stuff is still horribly broken due to the weird confusion
between local/remote and "has project"/"does not have project" that
crept in at some point, but this at least makes remote, project-specific
memcheck work again.
Still broken:
    - Remote callgrind
    - All remote valgrinds for external projects.
    - Local remote valgrind is not even available (anymore), as
      the respective menu entries have disappeared at some point.

Change-Id: Iae6b60a0508d1b1b64fd0e0e5f776ea2c2e23598
Reviewed-by: hjk <hjk@theqtcompany.com>
2016-01-29 16:27:09 +00:00
Tobias Hunger
66bdd60947 ProjectExplorer: Sprinkle overrides over the code
Sprinkle overrides over code derived from classes in ProjectExplorer

Change-Id: Ia4cc25649f7dc00b0ea126d8176a59afbc5ed574
Reviewed-by: hjk <hjk@theqtcompany.com>
2016-01-29 12:34:19 +00:00
hjk
249a36b573 Analyzer: Remove AnalyzerRunControl::runnable() and .connection()
These re-implementations are conceptually "too specific". Rather let
the indiviual tools handle there expectations themselves.

Change-Id: I0bbea407b2241816a40d19eb1dbb0a7589cbda7b
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2016-01-29 09:39:47 +00:00
hjk
2cf0060596 Debugger: Use StandardRunnable in DebuggerStartParameters
This is a mechanical replacement for the former executable, processArgs,
inferiorEnvironment and workingDirectory members.

Change-Id: I4160e01427ed801df9b729f1f31d0a2ca48159b5
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2016-01-28 14:15:54 +00:00
hjk
d5ecd4cf8b ProjectExplorer: Use StandardRunnable in ApplicationLauncher
Change-Id: I7092d748207762d3dbd6c69c01cc06c88cbf63d8
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2016-01-28 11:35:51 +00:00
hjk
a2732a347d Analyzer: Remove explicit environment and runMode
Instead, use the one in its (Standard)Runnable.

Change-Id: I14dbe91c50d083d11e18d514ec391875c64e3851
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2016-01-28 10:04:42 +00:00
hjk
f2012bca8f Analyzer: Remove explicit working directory storage in run control
Instead, use the one in its (Standard)Runnable.

The change is mechanical except to the fallback to the project directory
which was introduced in 8150209f to keep some compatibility with the previous
setup of the Android runner which created and copied the fallback value around
and ignored it in the end. Not producing the fallback value is less effort.

Change-Id: Ie04da570f0f9fbc1d048f2eacaed522f7253afa3
Reviewed-by: hjk <hjk@theqtcompany.com>
2016-01-27 16:34:01 +00:00
hjk
61709e9266 Analyzer: Use a StandardRunnable instead of an AnalyzerRunnable
... with a lot potential to code consolidation.

Change-Id: I4d3a7fcc1cc6ae8763799f18cf9701695f387791
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2016-01-27 15:29:11 +00:00
hjk
7be3eb85e1 RemoteLinux/Qnx: Use StandardRunnable
Change-Id: I73331985eb68065b5fb123ff4491888d824de766
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2016-01-27 11:20:12 +00:00