Commit Graph

124 Commits

Author SHA1 Message Date
hjk
726b907cc3 Debugger: Remove debuggerstringutils.h
With QT_RESTRICTED_CAST_FROM_ASCII making GdbMi etc operate on
QString is feasible again. Take this as opportunity to move
debugger encoding handling closer to a 'conversion on input and
output if needed, storage in QString only' scheme.

Change-Id: I2f10c9fa8a6c62c44f4e6682efe3769e9fba30f7
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-06-09 08:09:46 +00:00
Eike Ziller
9e66ce48e4 Merge remote-tracking branch 'origin/4.0'
Conflicts:
	src/plugins/autotest/testcodeparser.cpp
	src/tools/clangbackend/ipcsource/clangbackendclangipc-source.pri
	tests/unit/unittest/unittest.pro

Change-Id: I9db4fbea6ea7c9fdd0d8e1703735af20c92e754b
2016-05-09 16:37:41 +02:00
hjk
c813b5f31c Make local custom executables run independent of device selection
Task-number: QTCREATORBUG-16199
Change-Id: I1e9e2103e626c6480fa1c5ac9b2b3f8ac93e3038
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2016-05-04 14:26:36 +00:00
Eike Ziller
0f94aa3f4d Merge remote-tracking branch 'origin/4.0'
Conflicts:
	src/plugins/debugger/debuggerruncontrol.cpp
	src/plugins/projectexplorer/projectwizardpage.cpp
	src/plugins/projectexplorer/xcodebuildparser.h
	src/plugins/qmldesigner/qmldesignerplugin.cpp
	src/tools/clangbackend/ipcsource/translationunits.cpp

Change-Id: Ibf0857cf8dbf95fc9ac13d5c2112b3f4a2ca7de6
2016-05-03 11:49:01 +02:00
Orgad Shaneh
9ca0e50959 Debugger: Set symbol file on dialog-started debugging
Like Attach to Running Server

Change-Id: If8b5a8ed367edb82c50eb0e4b5c07a5aaf76396e
Reviewed-by: hjk <hjk@theqtcompany.com>
2016-05-03 05:22:10 +00:00
Eike Ziller
a3880c4916 Merge remote-tracking branch 'origin/4.0'
Change-Id: If0ba896a083392a532f76bb26bec3540a7c17667
2016-04-25 13:27:14 +02:00
Alessandro Portale
600693af2c Debug start Icon: Use the toolbar variant
I missed to change these in
5e32183c9b

Change-Id: I54740576f8a5b99d3c588f759b2337601b1e8dd5
Reviewed-by: Alessandro Portale <alessandro.portale@theqtcompany.com>
2016-04-22 23:01:12 +00:00
Ulf Hermann
385237dbbd Use Utils::Port where possible
This solves the ambiguity between 0 and -1 being the "invalid" port.

Change-Id: I3bac11dd4117bb1820fbd58186699925b73df1c5
Reviewed-by: hjk <hjk@theqtcompany.com>
2016-04-20 11:06:34 +00:00
Eike Ziller
8a77eacf8d Merge remote-tracking branch 'origin/4.0'
Change-Id: Ied609608f6b12aa923c67777bc5a273c4d8fbcbb
2016-04-15 10:07:55 +02:00
hjk
2e9b52d084 Debugger: Consolidate extraction of project related data for run
Setting projectSourceFiles etc once is sufficient.

Change-Id: I340406e2f7de82bd9919aa9ec0ff1982b2118e59
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2016-04-13 13:19:25 +00:00
hjk
641b511430 Debugger: Disable re-run from application output pane
... for QML engine, which currently does not handle state
transitions in that case.

The normal debug button (or <F5>) of course still work for
starting to debug the current project, which is in most
cases effectively the same.

Change-Id: I02ebf989030a6eb7ff919add6ccc20e7230d9cc1
Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
2016-04-13 10:15:49 +00:00
hjk
176f925770 Debugger: Merge remaining pieces of RunControl creation
Change-Id: Id59ee3f214dcc9c6551ecbaae122e333257c1ce5
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2016-04-13 07:30:01 +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
Orgad Shaneh
7dc2cb9d95 Debugger: Support only C++ on Windows post-mortem debugging
Change-Id: Idc759cb0a5a64fe33ea54eb4d0bf21df2a651bd9
Reviewed-by: hjk <hjk@theqtcompany.com>
2016-04-07 08:46:56 +00:00
Eike Ziller
1ae483fc83 Merge remote-tracking branch 'origin/4.0'
Conflicts:
	src/libs/utils/tcpportsgatherer.h

Change-Id: I495f3e05789f09efb8b1e84827893423a5b5b60c
2016-04-05 14:11:47 +02:00
Christian Stenger
40b6413201 Debugger: Fix crash on close while debugging
Task-number: QTCREATORBUG-15987
Change-Id: I510add216ec16c0c6622870f26c68c16e99769ed
Reviewed-by: hjk <hjk@theqtcompany.com>
2016-04-05 10:21:03 +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
ea1f5d2b6c Icons: Move debug run/interrupt/continue/exit from core to elsewhere
Core contains the small variants of debug run/interrupt/continue/exit
while the bigger icon variants are in projectexplorer or debugger. That
does not seem to have aany reason, at least in today's state of Qt
Creator architecture.

But above all, it stands in the way when changing debugger icons as
planned due to user feedback.

This change moves:

   Core::Icons::DEBUG_START_SMALL
to ProjectExplorer::Icons::DEBUG_START_SMALL

   Core::Icons::DEBUG_EXIT_SMALL
to Debugger::Icons::DEBUG_EXIT_SMALL

   Core::Icons::DEBUG_INTERRUPT_SMALL
to Debugger::Icons::DEBUG_INTERRUPT_SMALL

   Core::Icons::DEBUG_CONTINUE_SMALL
to Debugger::Icons::DEBUG_CONTINUE_SMALL

This change just moves icons across modules but does not change anything
in the UI.

Change-Id: I859b901c312d4d16b6c2f687395a7b48c90aab84
Reviewed-by: Alessandro Portale <alessandro.portale@theqtcompany.com>
2016-04-01 14:26:03 +00:00
Eike Ziller
48ef713da3 Debugger: Fix build error introduced by merge
Change-Id: I9385490a524c45129a1a190e90e940410ead6355
Reviewed-by: hjk <hjk@theqtcompany.com>
2016-03-23 15:28:26 +00:00
hjk
e16b02c680 Debugger: Move kit guessing out of run control creation
It's only used when starting with a -debug command line and
when attaching to a running run control. No need to clutter
the normal codepaths with it.

Change-Id: Ib374c64a7f63fa79e88967573c37a5da1f415d50
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2016-03-23 14:19:19 +00:00
hjk
0301a703ec Debugger: Remove unneeded re-init of RunParameters::useTerminal
... and some dead code.

Change-Id: I22fc6f8ecc09c4c3b928d7b7a510e762a54c0f8f
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2016-03-23 14:12:01 +00:00
Eike Ziller
467def6996 Merge remote-tracking branch 'origin/4.0'
Change-Id: I3f28f1f53cf2b2228928fbd7accf25d87bb40243
2016-03-23 14:15:31 +01:00
hjk
78228d37db Debugger: Reduce scope of scratch data in run control setup
Keep magic guessing to a minimum.

Change-Id: I3474b4406fa047dff468e853bd6fee7c962e065d
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2016-03-23 09:35:09 +00:00
hjk
d27d51050c Debugger: Use kit macro expander instead of global one where possible
This is low hanging fruit enabling a lot more customization.

Change-Id: I1a90fa731ea512852c12a55fad75551efb44e875
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2016-03-23 08:11:47 +00:00
hjk
f1a6ae83c1 Debugger: Fix creation of task list entries
The debugger validation was operating on wrong language data,
i.e. run unconditionally even on pure Qml projects that doesn't
require an external debugger.

Change-Id: Ic9c96d88f2014d62e8720f1e80134f561fc40bb9
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2016-03-23 08:10:59 +00:00
hjk
bc95eaaa23 Debugger: Don't re-evaluate language choices
Change-Id: Idca373abbca7c381bdb0af9c0db6763285700ed8
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2016-03-23 07:24:36 +00:00
Christian Kandeler
e4de466cdd Debugger: Fix typo.
Change-Id: Ie81f9e0fc2ba8eb56019e2b9332298bdb60198a5
Reviewed-by: hjk <hjk@theqtcompany.com>
2016-03-22 17:24:19 +00:00
Christian Stenger
0d73cfb28d Debugger: Fix language/engine detection
Task-number: QTCREATORBUG-15896
Change-Id: I5bc5ed11652932911bdf3b1107998c54353b1268
Reviewed-by: hjk <hjk@theqtcompany.com>
2016-03-22 13:57:19 +00:00
hjk
903e40a91d Debugger: Fix initialization of StartParameters::useTerminal
Change-Id: I8b03b02323c6c4d9d714a6cc0ebc7ee40c0abf92
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2016-03-22 13:56:03 +00:00
Eike Ziller
b93f9af31a Debugger: Fix restoring of previous mode
We have many code paths now that try to make sure that we really end up
with debug mode when debugging, leading to multiple calls of
activateDebugMode when starting the debugger. Separate ensuring debug
mode from saving the previous mode to avoid that debug mode is always
the previous mode.

Change-Id: Ie9687e2de816b6ae55945b6108a5d4f760962f89
Reviewed-by: hjk <hjk@theqtcompany.com>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2016-03-17 12:48:59 +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
ee4874e4ee Debugger: Simplify code a little
Change-Id: Ib259058973eff47e730f4354f2feaaccc3029746
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2016-03-02 08:28:06 +00:00
Tobias Hunger
f4296d7504 ProjectExplorer: Modernize
* Use override where appropriate
* Use pragma once
* Make more constructors explicit

Change-Id: I2865fe10f288e3de570826058e43b70a0cb4ee37
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2016-02-03 08:29:08 +00:00
hjk
3d82198031 Debugger: Fix startup with core files
Change-Id: I1dfb444543634839deb36d50609f1dc23d235717
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2016-01-29 14:02:38 +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
9ae2ce7629 ProjectExplorer: Drop LocalApplicationRunConfiguration
The functionality can be provided by producing a suitable Runnable
in the derived classes directly.

Change-Id: I7b8e8fe33fffd2b00176b6cf6633eca4e152e466
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2016-01-26 10:09:29 +00:00
Tobias Hunger
397e7f4843 Update License according to agreement with Free Qt Foundation
* Update files in src/plugins

Change-Id: Ia5d77fad7d19d4bb3498e78661982f68729adb22
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2016-01-19 15:57:01 +00:00
Ulf Hermann
42d570a3fe Rename Project::ExcludeGeneratedFiles
We want to distinguish between source files and generated files. So
let's call them by their names.

Change-Id: I324c4b82ca7fb7d8d0e175ea6c4f14f1306ec929
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2016-01-13 14:12:08 +00:00
hjk
8e702387e5 Debugger: Start separating different process environments
Debugger and stub run locally, the debugged process not necessarily.

Change-Id: Ibf6aec3dcaec60069866ec0765ec2178ca0a26d6
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2016-01-04 12:33:47 +00:00
Alessandro Portale
033862f305 Themed Icons: Introduce Utils::Icon
Instead of describing icons via file name or in the themed icons case
via
a string that is a list of mask/color pairs, we have now a class for it.

Icons are now listed in per-plugin *icons.h headers.

RunControl::m_icon was The only place left where an icon property was in
fact a string. This patch changes that member to be a Utils::Icon.

Change-Id: Ibcfa8bb25e6d2e330c567ee7ccc0b97ead603177
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2015-11-25 12:30:52 +00:00
Ulf Hermann
2217eef3a3 QmlDebug: Allow different styles of command line arguments
We have tcp, local, and native by now. We have to expose that in a
clean way.

Change-Id: I0ce7be693aa7f47ebea7abe435a224a176b6c94b
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-11-19 11:33:15 +00:00
Eike Ziller
1dc8d0f032 Merge remote-tracking branch 'origin/3.6'
Change-Id: Ibee24c1c80984cdc45e7bcf3e4fbb5f1e6b81454
2015-11-17 09:38:05 +01:00
David Schulz
69a4f80c69 WinRT: Fix C++ debugging when qml debugging is also enabled.
This is also a preparation to enable QML debugging. Unfortunately
the WinRT QML library isn't printing the needed "Waiting for connection"
output so far.

Change-Id: I5e106de0272a0876749aaf77f1ebf74b952d3471
Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
2015-11-16 08:15:46 +00:00
Alessandro Portale
b8bdc6f669 Icon refresh: First step towards the new Qt Creator themes
http://blog.qt.io/blog/author/didesous/ announced new designs/themes
for Qt Creator. This patch replaces many of the existing toolbar icons
with recolorizable masks for better theming support.

Change-Id: I557aa485205fe2624f33724226f698c303342b40
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
Reviewed-by: Alessandro Portale <alessandro.portale@theqtcompany.com>
2015-10-23 16:04:52 +00:00
hjk
525c33f999 Debugger: Infrastructure for reworked native mixed debugging
- Remove old experimental native mixed approach.
- Move some common stack parsing to Stackhandler.
- Mark gdbbridge.py debug output explicitly to remove it
  from actual reponse handling

New native mixed needs QtDeclarative changes and
QTC_DEBUGGER_NATIVE_MIXED=1 for now.

Change-Id: I09eed1da51cea878636d36756015b7bfaed34203
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-10-09 05:19:45 +00:00
David Schulz
ba2b210b83 Debugger: Fix crash when attaching to already running application.
Change-Id: Ie6b28d14c6e8c49b9d8307c528807add82d3a57b
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-09-01 06:37:51 +00:00
hjk
c760cbd2f9 Debugger: Do not merge pdb arguments into a single one
Change-Id: I998d663e1fced1da10e7b3d4489db26eb244fe2b
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-08-25 08:51:38 +00:00
hjk
aa4485af85 Debugger: Rework Python Debugger
The (re-)enables basic stepping, data display, frame selection etc
for Python 2 and 3. Arguments passing, jump to line etc.
don't work yet.

Change-Id: I8af03e5905092360eb268ba3081a1236b1f8577f
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-08-20 09:15:23 +00:00
Ulf Hermann
5f90990c30 Tell the QML debug server exactly what services we expect
The services need to be loaded before the first QML engine is created.
The first QML engine may be created before a client connects. When the
JavaScript debug service is loaded the engine is put into interpreter
mode as we don't support debugging in JIT mode. Profiling, however
should be done in JIT mode, whenever possible.

Thus, in order to avoid the loading of unnecessary plugins and to get
better results from the QML profiler we tell the debug server which
services we expect, even before the client connects. Qt 5.6 will support
additional command line arguments to specify the services and this
change uses them.

Change-Id: I6dcee016c39995e9adada6eaf0e39d8299c9b7e7
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-08-17 15:13:56 +00:00
hjk
5a791e8839 Debugger: Don't search for an attachable process without valid pid
We won't find one.

Change-Id: I65babeea22045ae5a74f346558c7297cb65945c5
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-07-23 10:12:49 +00:00