Commit Graph

451 Commits

Author SHA1 Message Date
hjk
1bdaa78fa5 Debugger: Add format names for some special local display formats
Untranslated for now due to the 3.4 string freeze.

Change-Id: I5c1663acb8c22c591f8809d666a84a078db3490f
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-03-31 13:31:31 +00:00
hjk
d920ed9115 Debugger: Fix QmlInspector column width
Task-number: QTCREATORBUG-14192
Change-Id: Ic462bbcf07dc3c683b86e65628bae7ac8ac9249a
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-03-27 10:05:28 +00:00
hjk
b0977f8322 Debugger: Don't update watch view needlessly
Column width computation is not cheap.

Change-Id: I615e1f9888f32171c478bfa2be565a91d669e8a2
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-03-27 10:05:06 +00:00
hjk
a6c81b02bd Debugger: Fix regression in "Show in separate Window"
After the tree model changes, the main insertion path did
not trigger the update in the separate Window anymore.

Task-number: QTCREATORBUG-14101
Change-Id: I90d8c0874be473a67c6260ca9bf63099f5d54a06
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-03-25 10:50:47 +00:00
Thorben Kroeger
797af15584 Theming: debugger
Theme the text colors of
- the debugger's log window
- the debugger's watch items

In particular, the watch items were hard to read (default color was
black, color for changed value was red).

For the dark theme, the default color for watch items is now white
(the text color), changed items appear red, and invalid items
appear grey.

Change-Id: I7f9534b054c44d635b106fa0e9ac70479c9fcac5
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2015-03-24 14:44:13 +00:00
Sergey Belyashov
7fa58f1d99 Fix missing of some translations
Task-number: QTCREATORBUG-13649
Change-Id: I69f78b3b8d2366003bfce81a2afba0068e716d22
Reviewed-by: hjk <hjk@theqtcompany.com>
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2015-03-24 07:04:46 +00:00
hjk
c097867f3c Debugger: Prevent endless recursion on output of broken dumpers
That fixes a recent regression.  If a dumper announces to have children,
but doesn't produce any we re-tried for ever. This is reproducible e.g.
by putting an 'return' before any 'if d.isExpanded():' stanza in a
dumper and triggering that dumper.

Keep track of expanded items, and only ask for children once per
location change.

Change-Id: I349fdc7380444eb3ac9fa2fae098a3f3e7658195
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-03-23 14:43:46 +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
dba12a1eab Debugger: More interface streamlining
This makes WatchModel practically a WatchHandlerPrivate.

Change-Id: Iaf3435711012af5e233a7dfc0dc0caf9c8c3ab24
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-03-23 07:13:46 +00:00
Orgad Shaneh
d9135665f0 Debugger: Fix removal of expression that ends with whitespace
* Start a debugging session
* Add an evaluated expression "(char*)foo "
* Delete the expression
* Press F10
* It reappears

Change-Id: I5c54ca6ab2f4be6c613880a2747e4aff653d15be
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-03-20 11:36:23 +00:00
hjk
a1ec5cd096 Debugger: Fix recent crash on ramp down
Change-Id: Iaa9c0b16c3f09b72d7a755a2d66c8ac1bf021283
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-03-20 11:27:21 +00:00
Christian Stenger
51ee57aad0 Debugger: Fix compile with MSVC2010
Change-Id: Ic75a4d6d7fc5cfd27f2a42b59b83366bb1822a39
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-03-20 10:41:49 +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
3fd6e9e77c Debugger: Replace uses of one of the depracted WatchHandler members
Change-Id: I1761b75c0c2605e2d3157f318f26da5158cc6395
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-03-20 07:23:11 +00:00
hjk
e44378e942 Debugger: Adjust watcher column size to locals content
Change-Id: Iec6b4478862578397ee2b3953cd06730bd0db121
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-03-19 08:13:19 +00:00
hjk
13d425b972 Debugger: Re-enable watchers after ending a debugger run
In that state one should be able to remove them.

Change-Id: I9c1383decb087971cdc01607c32801f6ac22f99d
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-03-19 06:58:51 +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
fb4af50bf6 Debugger: Add delay before showing progress indicator.
Change-Id: I70dc3997800649e6920c6a6bece9aef98f2b2146
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-03-16 12:45:42 +00:00
hjk
51edafece5 Debugger: Rename WatchItem::{color->valueColor}
It's the color of the value field, not of the whole item.

Change-Id: I1dd63ae21469ec784aefa278d379f819280067d9
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-03-16 12:36:12 +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
467c441c93 Debugger: Fix using the same watcher number twice.
Counting the watcher number in a global scope, so they don't get
reinitialized incorrectly with a new engine.

Change-Id: Ifd9efb320e2c0f20b2e2845348a98961f72bf28c
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-03-16 10:08:04 +00:00
hjk
ef894f21e2 Debugger: Rename WatchHandler::remove{Data->ItemByIName}
That's what it does.

Change-Id: If1a1bf91220630ad09e5ec8636ccb9d67c8d0947
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-03-09 11:52:52 +00:00
hjk
915bb5413c Debugger: Remove unused WatchHandler::removeChildren()
Change-Id: Ieef352db04978ad48dfe47178edaec7702dc373b
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-03-09 11:52:45 +00:00
hjk
3e02f8ec2e Debugger: Fix format switching for char[]
Task-number: QTCREATORBUG-14094
Change-Id: Iea1f59d5af2fb453ead7e0cef9e04293a698794e
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-03-09 11:17:25 +00:00
hjk
7b6ff1fed9 Debugger: Remove unneeded parameter from WatchModel::insertDataItem
All remaining uses had 'destructive' as 'true'.

Change-Id: I4eee6539c7b5e0336325a59af3379f8a3140847b
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-03-06 14:00:32 +00:00
hjk
e4c2582b62 Debugger: Dissolve WatchHandler::insertBulkData
Change-Id: Ie2b073531f28943e78e89157798fef1645d4aa2b
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-03-06 13:59:54 +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
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
hjk
df00a7af64 Debugger: Move watcher modification from delegate to model
We don't need the remove/re-insert cycle in the new model,
so the expression modification can be done directly.

Change-Id: If9626f48fcfbcf75e61d332afb59b986da6c2dbc
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-03-06 12:47:55 +00:00
hjk
a7bf3c49a4 Debugger: Remove WatchHandler::insertIncompleteData
... and replace at caller side it with the used parts
of the code.

Change-Id: Id612c66ac6d95bfc12aba16e9247cc81991dd779
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-03-06 10:40:30 +00:00
hjk
9e0a27207c Debugger: Fix display name of undereferenced pointers
This was a regression introduced by the migration of the WatchHandler
to the new tree models.

Task-number: QTCREATORBUG-14098
Change-Id: Id97c3927e7e19d501a8e7e01e12b28ffe2a66c68
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-03-05 14:25:04 +00:00
hjk
518a44a780 Debugger: Remove some soft asserts
They can legitimately appear in regular use right now.

Task-number: QTCREATORBUG-13938
Change-Id: Id7097c82866375060545db6ddbbecbf1fbf5da6d
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-03-03 09:49:39 +00:00
hjk
aa67078276 Debugger: Implement basic value assignment for PdbEngine
Change-Id: I505c3e9c4a239ed381d525b5acaf1acf3a06a59a
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-02-13 17:05:29 +00:00
Eike Ziller
56aadc407d Merge remote-tracking branch 'origin/3.3'
Conflicts:
	src/plugins/debugger/watchhandler.cpp
	src/plugins/projectexplorer/kitmodel.cpp
	src/plugins/qbsprojectmanager/qbsprojectmanager.cpp
	src/shared/qbs

Change-Id: I6a68090993a264e93ac7850858cc24ba6bdb5602
2015-02-12 17:36:29 +01: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
f91cc66f9a Debugger: Combine some watch related GDB and LLDB code paths
Change-Id: I20e5f6f04418c931354a07bc3597f6982fcaf942
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-02-12 12:49:21 +00:00
hjk
77db03a94d Debugger: Update watchers and return value views properly.
This was a regression after the watch model changes.

Change-Id: I4cf369d972b9a6e2f52800556acbd3711744724c
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-02-09 16:07:00 +00:00
hjk
2fe69b60dd Debugger: Rework Tooltips. Again.
Too much layers of complexity. Instead of keeping an eye on
the "live" tree model and switch to a static StandardItemModel
whenever live synchronization is not possible (and do all the
tree view snake oil magic that's needed to make the switch
appear "smooth") keep static copies of relevant parts of the
live model, and update them whenever the the live model changes.

Change-Id: I88a7de67f7703cd2fed041351346b1c7ada0839e
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-02-09 14:33:48 +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
f5af022aaa Debugger: Remove unused code in WatchModel
Change-Id: I34464bf435dcf87eb375b8c1e79e29ad4f8050b4
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-01-29 23:14:25 +00:00
hjk
63eac4385a Debugger: Remove WatchModel test code
Model structure is tested in the base class now.

Change-Id: I84653eb105425646e83dc898f63b8cd2f0401f25
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-01-29 23:13:17 +00:00
hjk
eafde22e16 Debugger: Handle extra dumpers with LLDB
This generalizes part of the previously GDB-only code paths

Change-Id: Id32798073e3c8bcb23bfedf463bebc866c8275e2
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-01-29 15:42:31 +00:00
hjk
bea159a701 Debugger: Some parser code consolidation
Change-Id: Icd3afb632cb935fdd95f13db91c9c11a3dea732e
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-01-29 15:09:12 +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
hjk
39ab4b3783 Debugger: Use direct access to WatchItems in GDB engine
Change-Id: I6b9735de1855203ce0586c4ee0c8991a13fb0bad
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-01-29 11:32:00 +00:00
hjk
c1c1221a0d Debugger: Make WatchItem accessible to engines
Change-Id: I1586a4c4f11cc4d622a6e164875f5b6ee2e1eb18
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-01-29 11:15:50 +00:00
hjk
a6e9f032e3 Debugger: Use Utils::TreeModel for watch window
The circle closes, that's where the code came from.

Change-Id: Ic36ab61ec8886c9a2747aeb29a7245df3ef0b6c4
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-01-29 10:32:32 +00:00
Christian Kandeler
9dee300b67 Debugger: Fix scoping bug in watch handler.
Found by clang static analyzer.

Change-Id: Ib25232b26c314d4da4707f7903f1b75b907b241d
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-01-21 08:56:05 +01: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
David Schulz
8f9e74b93c Debugger: Re-enable the Remove All Expression Evaluators Action.
Also adding a confirmation dialog that prevents accidental
triggering of that action.

Change-Id: Ib1c496e34edfa0f869737559aff5b0b24da9ae64
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com>
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-12-04 11:11:33 +01:00