Commit Graph

365 Commits

Author SHA1 Message Date
David Schulz
e670d9f341 CDB: Print non extension output when verbose log is enabled.
Change-Id: I0fb308794220d08be43b81ed2d56fd558411e650
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-06-24 12:07:28 +00:00
Eike Ziller
4dd95aa5d4 Merge remote-tracking branch 'origin/3.4'
Change-Id: Id13cbdf2f7047366e543c91fbe7c21a9c4759e56
2015-06-17 12:04:21 +02:00
hjk
d769efe1e2 Debugger: Move watchHandler()->notifyUpdateStarted() to doUpdateLocals
This was it also gets triggered when expanding tooltips.

Change-Id: I90ad39e9e82abdcd40e663b4ba4998205563009b
Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
2015-06-17 06:31:53 +00:00
David Schulz
2ce11e0b5a Cdb: Unify local and watch handling.
Change-Id: Ic997136cc3b67b9f146e56d0b3ee2cb3140b6b10
Reviewed-by: hjk <hjk@theqtcompany.com>
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-06-15 12:58:28 +00:00
Joerg Bornemann
f0467f8b01 support Visual Studio 2015
Task-number: QTBUG-46344
Change-Id: I49c3e2776e65cc83d40d1f5ab3be1365d17242d1
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2015-06-15 11:53:37 +00:00
David Schulz
ec83581d16 Cdb: Update locals via doUpdateLocals form DebuggerEngine.
Change-Id: I2178e4d787a4d6811bbe5c6baddd23013954e53f
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-06-11 13:00:16 +00:00
hjk
277495e8cb Debugger: Remove the boolean parameter to CdbEngine::updateLocals()
Makes clang happy, and changes to a full update after manual
variable assignments, which is intended anyway.

Change-Id: I028f32e1ac9014f5d56bf12824624f7685d22c83
Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
2015-06-11 09:28:51 +00:00
hjk
5309e217e4 Debugger: Consolidate GDB and LLDB "updateLocals" code paths
This splits the bool setToolTipExpression() operation into
a bool canHandleToolTip(), and the actual processing of
the request, which is mostly identical to the handling of
a watcher.

Handling a watcher is now mostly the same as a full Locals
update, except for the 'partial' flag. Pushing the handling
of that down to the bridges gives identical code paths
in the gdb and lldbengine. Move that to the
DebuggerEngine base class.

Change-Id: I3861b43e8630c7e7bd57fcd549b2a2387e3d4869
Reviewed-by: hjk <hjk@theqtcompany.com>
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-06-10 07:40:27 +00:00
hjk
ad51a43c73 Debugger: More Debugger{Start,Run}Parameter separation
Fixes also the recent regression due to slicing when attaching
to a running application.

Change-Id: I6a7712811d6820b0c57658db10c5ff9790b4a338
Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
2015-06-09 08:16:56 +00:00
David Schulz
20d5c1a826 Cdbext: Add option to return alphabetically sorted locals.
Change-Id: Ida0e8aec41bade10ad1e3ac517812a3a8c120473
Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-06-05 06:16:51 +00:00
hjk
244cdb7804 Debugger: Split off runtime-only items from DebuggerStartParameters
Right now, DebuggerStartParameter is part of the debugger plugin
external interface. Better not make it fatter than necessary.

Change-Id: I3b9205089f971dd314ccba1335b5ca2d4d9fe7c6
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
2015-05-28 08:54:48 +00:00
David Schulz
8c1579bf64 Debugger: Use unified locals update in the cdbengine.
Change-Id: I94c8bd554e9e5ee157fd2bc80d3889558d08a8f0
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-05-22 05:53:15 +00:00
Eike Ziller
4058ff6fe9 Merge remote-tracking branch 'origin/3.4'
Conflicts:
	src/libs/extensionsystem/pluginview.cpp

Change-Id: I410156c1003d5dc81e915110c6d432bcd71da010
2015-05-07 14:42:46 +02:00
David Schulz
e4e9983622 CDB: Unify handling of stopped debugger process.
Task-number: QTCREATORBUG-14344
Change-Id: Id05b16e649d39e354e6fda9ede9aa44984f3f429
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-04-28 07:00:52 +00:00
David Schulz
f5ba484fbe Debugger: Fix Step into for unreachable frame source.
Hitting a frame without source code information when stepping inside
functions results in a step out. Same is now applied to frames with
unreachable source code.

Task-number: QTCREATORBUG-9677
Change-Id: If7f7b417d98e8ab058fc98cef3041cb616579619
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-04-27 08:04:30 +00:00
hjk
2b19081cb0 TreeModel: More API cleanup
- introduce topLevelItemCount (similar to QTreeWidget)
- squash untypedTreeLevelItems()
- rename removeItems() to clear()
- rename removeItem() to takeItem()
- rename treeLevelItems<> to itemsAtLevel<>

Change-Id: I0f1bb4110f7687b20da3d92e3d943858645a9fa2
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2015-04-22 13:48:18 +00:00
hjk
48ac7c186b Debugger: Re-organize passing of display formats
The current setup (dumper->gui: list of descriptions,
gui->dumper: index in list) is fragile and not easily
i18n'able. Go with an enum based approach now.

Change-Id: Ie78c596065a8b2ba87ad725274da29d4be3a6da4
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-03-23 14:12:43 +00:00
hjk
d26a49d43c Debugger: Convert some connections to Qt 5 style
Change-Id: I7f879f373ce460459318302a13fa83814c69310d
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-03-20 10:44:27 +00:00
hjk
b3f88df41d Debugger: Remove most remaining occurrences of WatchData
... in WatchHandler and DebuggerEngine interface.
Adjust using code.

Change-Id: I6371f3e96ba46a783e23a5767cdde24a10d3fce7
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-03-20 08:36:57 +00:00
hjk
9851484b31 Debugger: Remove new watch window timer from public interface
Change-Id: Ic9d3df22d917e5644d6302a6af06aa8eadea8b5a
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-03-17 14:44:08 +00:00
David Schulz
40dd248178 Debugger: Show progress indicator while updating locals.
Change-Id: I4b26cbe71f5936f367f9add2b3a6c812446835d8
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-03-16 10:10:05 +00:00
David Schulz
9c5a56a38b Cdb: Reduce usage of deprecated WatchData.
Change-Id: Ie3d3355e51761cea7e0284bbb3e0177d5a443f36
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-03-13 09:01:15 +00:00
Eike Ziller
1eeca66c29 Get rid of Gitorious links
That service is discontinued, and we have our own mirror anyhow.

Change-Id: I8a45401e2c0c889d87c675a79ae16684d7c69a7a
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2015-03-10 13:50:48 +00:00
hjk
31b2ac85f4 Debugger: Split CdbCommand into CdbCommand and CdbResponse
Move it closer to the GDB/LLDB setup.

Change-Id: Ifcada93ba9abff56c5523963c3ef9382277387e2
Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
2015-03-10 09:30:15 +00:00
hjk
a37e30eb23 Debugger: Remove unused struct ConditionalBreakPointCookie
Change-Id: Ib2eeba127780a80953dc128f844fda7a48b1dd0b
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-03-10 07:10:24 +00:00
hjk
159f4e4f39 Debugger: Replace LocalsUpdateForNewFrame enum value by a bool
Change-Id: I4e7f6ec14a4c40a7d402e6a57f1b14fc37651747
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-03-09 15:17:56 +00:00
hjk
3f79ae203f Debugger: Start disentangling WatchHandler::insertData
Rename the list overload. Make the single item overload use
the direct path to insertItem, hook the column resize requests
to the showing/hiding of the watchers pane.

Change-Id: I0a1940c8e1919341a815e6bccbcf55d989d663da
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-03-06 13:59:42 +00:00
hjk
46fcfa9018 Debugger: Remove widget argument from tooltip request
The only information ever used is whether it's c++ or not.

Change-Id: I4ca00663856dd66cbdf58c468f175a8c9e41d6a5
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-03-06 13:57:53 +00:00
hjk
34c807a11a Debugger: Remove WatchUpdateFlags
Only needed in the non-Python days. CDB didn't use it to start with.

Change-Id: Ia609218cc1a694f797e278c4d99ead68e6212938
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-03-06 13:55:55 +00:00
David Schulz
36fe342853 Cdb: Reduce insertIncompleteData usage.
Change-Id: Ia71d32c40bbe4737061d021c37844a1fd84b9657
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-03-06 09:28:30 +00:00
hjk
a21afdd2a0 Debugger: State machine cosmetics
Remove one unused notification, rename notifyInferiorUnrunnable.

Change-Id: I585d3a8606585fbdd8ad48e5eeecf629542bd93c
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-02-27 07:36:46 +00:00
hjk
623de07ab9 Debugger: Streamline GdbMi structure interface
Change-Id: If9c4d1ae8b05a5dae7d6a1a7534e49d1966dd493
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-02-26 08:53:47 +00:00
hjk
23ad61fc9d Debugger: Dissolve ConditionalBreakPointCookie structure
After dropping the QVariant cookies the structure is not needed.

Change-Id: Ib6f702bedeb250518ac0b7019e32d2caa62eb616
Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
2015-02-19 09:13:08 +00:00
hjk
e058dbe775 Debugger: Remove not-too-useful local typedef and typo
Change-Id: I260c06c32c1929953ae03a9c7cfec71e004a3c88
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-02-18 13:00:41 +00:00
Thomas Hartmann
1ccb0d5b78 Debugger: Cleanup
Change-Id: I4ccb14bdd92f70fe8c7c09ad10992238041ce59a
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-02-18 10:23:00 +00:00
Thomas Hartmann
6bb011059b Debugger: Compile fix for VS 2012
Change-Id: I4ccb14bdd92f70fe8c7c08ad10992238041ce58a
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-02-18 10:14:57 +00:00
hjk
42af154c77 Debugger: Avoid QVariant cookies in CDB callback handling
Thanks to lambdas we can now pass them directly.

Change-Id: I3d5189596c41f84adc168ec093051f4400da04c7
Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
2015-02-18 09:32:23 +00:00
hjk
dcb5d14bc7 Debugger: Squash CdbCommandBase based hierarchy
This was introducing more code duplication then it saved. Put
everything into a CdbCommand class for now.

Change-Id: I32180da2ab70da28a890a7d8ac72170ee0dc0ff2
Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
2015-02-18 08:54:21 +00:00
hjk
b27b7bc251 Debugger: Rename some CdbCommand* members
... in preparation of squashing the hierarchy and later replacing
it with the base DebuggerCommand.

Change-Id: If01119bfcc5c3f5e96a60652183b1b7a89c1f96e
Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
2015-02-18 08:35:14 +00:00
Eike Ziller
9926fc2ab1 Merge commit '3c85058694ee2e41658d17f524fb48f0b187d2fe'
Conflicts:
	src/libs/utils/tooltip/tipcontents.cpp
	src/libs/utils/tooltip/tipcontents.h
	src/plugins/android/androiddeployqtstep.cpp
	src/plugins/baremetal/baremetalconstants.h
	src/plugins/baremetal/baremetaldevice.cpp
	src/plugins/baremetal/baremetaldevice.h
	src/plugins/baremetal/baremetaldeviceconfigurationwidget.cpp
	src/plugins/baremetal/baremetaldeviceconfigurationwidget.h
	src/plugins/baremetal/baremetaldeviceconfigurationwizard.cpp
	src/plugins/baremetal/baremetaldeviceconfigurationwizardpages.cpp
	src/plugins/baremetal/baremetaldeviceconfigurationwizardpages.h
	src/plugins/baremetal/baremetalplugin.cpp
	src/plugins/baremetal/baremetalplugin.h
	src/plugins/baremetal/baremetalruncontrolfactory.cpp
	src/plugins/baremetal/baremetalruncontrolfactory.h
	src/plugins/cppeditor/cppcodemodelinspectordialog.cpp
	src/plugins/cppeditor/cppdoxygen_test.cpp
	src/plugins/cppeditor/cppdoxygen_test.h
	src/plugins/debugger/breakpointmarker.cpp
	src/plugins/debugger/debuggeritemmodel.cpp
	src/plugins/debugger/debuggeritemmodel.h
	src/plugins/debugger/loadcoredialog.cpp
	src/plugins/genericprojectmanager/cppmodelmanagerhelper.cpp
	src/plugins/projectexplorer/addnewmodel.cpp
	src/plugins/projectexplorer/addnewmodel.h
	src/plugins/projectexplorer/jsonwizard/jsonfieldpage.cpp
	src/plugins/qmlprofiler/abstracttimelinemodel.cpp
	src/plugins/qmlprofiler/abstracttimelinemodel.h
	src/plugins/qmlprofiler/notesmodel.cpp
	src/plugins/qmlprofiler/qml/CategoryLabel.qml
	src/plugins/qmlprofiler/qml/MainView.qml
	src/plugins/qmlprofiler/qml/Overview.js
	src/plugins/qmlprofiler/qml/Overview.qml
	src/plugins/qmlprofiler/qml/TimeDisplay.qml
	src/plugins/qmlprofiler/qml/TimeMarks.qml
	src/plugins/qmlprofiler/qmlprofilertimelinemodelproxy.cpp
	src/plugins/qmlprofiler/sortedtimelinemodel.cpp
	src/plugins/qmlprofiler/sortedtimelinemodel.h
	src/plugins/qmlprofiler/timelinemodelaggregator.cpp
	src/plugins/qmlprofiler/timelinemodelaggregator.h
	src/plugins/qmlprofiler/timelinerenderer.cpp
	src/plugins/qmlprofiler/timelinerenderer.h
	src/plugins/qmlprojectmanager/QmlProjectManager.json.in
	src/plugins/texteditor/findinfiles.cpp
	src/plugins/vcsbase/vcsconfigurationpage.cpp
	src/shared/qbs
	src/shared/scriptwrapper/interface_wrap_helpers.h
	src/shared/scriptwrapper/wrap_helpers.h
	tests/auto/qmlprofiler/abstracttimelinemodel/tst_abstracttimelinemodel.cpp
	tests/system/suite_debugger/tst_debug_empty_main/test.py
	tests/system/suite_debugger/tst_qml_js_console/test.py
	tests/system/suite_debugger/tst_qml_locals/test.py

Change-Id: I67540b648f8b162496f4aa606b04d50c7c9125c6
2015-02-12 17:29:21 +01:00
hjk
f1c5889e77 Debugger: Some code modernization
Qt 5 signal/slot, a few auto.

Change-Id: Ia17f1b3dcd41dfe0a373c14e7c1d34d210d084f1
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-02-12 15:14:55 +00:00
Orgad Shaneh
4e8e75d88e Debugger: Remove unneeded qualifications
Mostly done using the following ruby script:
Dir.glob('**/*.cpp').each { |file|
  next if file =~ %r{src/shared/qbs|/qmljs/}
  s = File.read(file)
  s.scan(/^using namespace (.*);$/) {
    ns = $1
    t = s.gsub(/^(.*)\b#{ns}::((?!Const)[A-Z])/) { |m|
      before = $1
      char = $2
      if before =~ /"|\/\/|\\|using|SIGNAL|SLOT|Q_/
        m
      else
        before + char
      end
    }
    if t != s
      puts file
      File.open(file, 'w').write(t)
    end
  }
}

Change-Id: I1aa1a2b6ccbafeb1a8f3053fffa39b3f96992591
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-02-04 08:52:39 +00:00
hjk
1eb507afbd Debugger: Simplify calls to parseChildrenData
Having access to the expanded inames doesn't make a difference.

Change-Id: Ic833f647c2c135f213dd621e28a9be98809e0b04
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
2015-01-29 14:16:13 +00:00
Eike Ziller
3c85058694 Update License
Change-Id: I711d5fb475ef814a1dc9d2822740e827f3f67125
Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
2015-01-16 12:37:56 +01:00
hjk
3b2d2eae17 Debugger: Re-work breakpoint storage handling
The actual data is now in a TreeModel. As interface to
individual breakpoints there's a new Breakpoint class
essentially providing a checked handle.

On the user code side breakHandler()->foo(bpId) is
replaced by bp.foo().

Change-Id: I82f435bad6301fce85a1d82bf6bf39e9ddba511e
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-01-15 12:19:33 +01:00
hjk
a8ea8d38fe Debugger: Use TreeModel for ModulesHandler
Change-Id: I831f71e7441330e2a6a7f3ddcf89a29517b3b91b
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-01-14 10:00:04 +01:00
hjk
3743211e54 Debugger: Rework register handling
Use register names as handle, not their index in the view.
Store the raw real values, not some stringified version
as primary data.  Use subentries to break down bigger
registers into smaller entities. Also remember the
previous value of a register and show it in a tooltip.

Change-Id: I8ae3cc8766a7b211bc7cc827c734e5cf6060825c
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-12-18 12:53:46 +01:00
Marco Bubke
2ee9a06f4c Debugger: Use Core::AsynchronousMessageBox
Nested event loops can lead to crashes, so it is better to use a dialog
which does not have have its own event loop.

Change-Id: Icd2390c9026bc1ef88e72a570df5813fe5cbdaa2
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-12-08 12:02:07 +01:00
David Schulz
d93afdeda5 Debugger: Add MSVC runtime module name for VC 12.
Change-Id: I856ed20ad1df493dd430ebf1d0043e57bb9f14f4
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-12-01 14:02:35 +01:00
hjk
011ddc09c4 Debugger: Fix async tooltip handling
For now, only the gdb engine can handle complex tooltips
requiring async re-evaluation, cdb and lldb will show
and expand only items that are available in the Locals view.

This patch disables also the save/restore feature for
pinned tooltips.

Task-number: QTCREATORBUG-13255
Task-number: QTCREATORBUG-13052
Change-Id: Ic25616fede0f5c4343a92b631f01e60bfc5e9d81
Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2014-11-14 12:58:05 +01:00