Commit Graph

376 Commits

Author SHA1 Message Date
hjk
06f35cbbd0 Debugger: Split type simplification into file of its own
This still needs to use a proper parser at some time.

Change-Id: Ia0afe593dd9dc32f22f80adb7232c04f4db79cf6
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-15 12:15:52 +01:00
hjk
df2ecb4edd Move the textual simplification of container type to debugger again
This is the only user, and likely will stay so for a while, and
eases the linking of the debugger autotests.

Change-Id: I822fa892f105a5b7985370b26e50aa94cac74bb3
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2014-01-08 14:49:35 +01:00
Eike Ziller
236ea9efb9 Merge remote-tracking branch 'origin/3.0'
Conflicts:
	share/qtcreator/debugger/dumper.cpp
	share/qtcreator/debugger/dumper_p.h
	share/qtcreator/debugger/test/main.cpp
	src/plugins/debugger/gdb/classicgdbengine.cpp
	src/plugins/debugger/gdb/pythongdbengine.cpp
	src/plugins/debugger/lldblib/guest/lldbengineguest.cpp
	src/plugins/debugger/lldblib/guest/lldbengineguest.h
	src/plugins/debugger/lldblib/guest/main.cpp
	src/plugins/debugger/lldblib/ipcengineguest.cpp
	src/plugins/debugger/lldblib/ipcengineguest.h
	src/plugins/debugger/lldblib/ipcenginehost.cpp
	src/plugins/debugger/lldblib/ipcenginehost.h
	src/plugins/debugger/lldblib/lldbenginehost.cpp
	src/plugins/debugger/lldblib/lldboptionspage.cpp
	src/plugins/qbsprojectmanager/qbsstep.cpp
	src/plugins/qbsprojectmanager/qbsstep.h
	src/plugins/qmlprofiler/canvas/qdeclarativecanvas.cpp
	src/plugins/qmlprofiler/canvas/qdeclarativecanvas_p.h
	src/plugins/qmlprofiler/canvas/qdeclarativecontext2d.cpp
	src/plugins/qmlprofiler/canvas/qdeclarativecontext2d_p.h
	src/plugins/qmlprofiler/canvas/qmlprofilercanvas.cpp
	src/plugins/qnx/blackberrycheckdevmodestep.cpp
	src/plugins/qtsupport/debugginghelper.cpp

Change-Id: Ie9fd0a885fb6264a6a8a72daee071b75bcbd2e9d
2014-01-08 11:01:06 +01:00
Robert Loehning
746c5d8863 Incremented year in copyright info
Change-Id: Ib5423fdd064e4546f848c0b640b0ed0514c26d3a
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2014-01-08 08:29:47 +01:00
hjk
c3e69ef0c1 Debugger: Remove some unused functions from WatchHandler
Change-Id: I8be7b06c44ebb83385ecb9cc8b5c9aa684d97458
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-01-06 16:25:29 +01:00
hjk
05f47cd451 Debugger: Make also individual formats persistent
I am not fully convinced this is a good idea, but it looks like
the different behaviour of type formats and individual formats
is unexpected.

Task-number: QTCREATORBUG-7412
Change-Id: I5aae39939dfe75b3d9ff6c1025bd3d9c9222695a
Reviewed-by: David Schulz <david.schulz@digia.com>
2013-12-20 19:09:51 +01:00
hjk
848af02753 Debugger: Add more options for pointer display
Change-Id: Iaceefc5da11a03052e5a2eb50dab7a85588813b0
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
Reviewed-by: David Schulz <david.schulz@digia.com>
2013-11-27 10:42:24 +01:00
hjk
47575dc5d1 Debugger: Remove some dead code
Change-Id: I715744621e5e74fcd6cd0e2b9fba0c5881cd8da8
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-11-08 13:51:00 +01:00
hjk
8c02d6e0dd Debugger: Fix QChar dumper with Python 3
Change-Id: I7da412c9bdaf3a8f65484ac99f06fc31a5cdc1c3
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-21 14:15:56 +02:00
hjk
11bf267604 Debugger: Offer base changes for all integral looking values.
If it talks like a duck, and walks like a duck...

Change-Id: I166a452a9d067285467b346a4ef5d4de646d3a31
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-21 14:05:22 +02:00
hjk
6669e8ea75 KitChooser: Add a 'Manage' button for quick setting access
Change-Id: I0f90075ed6549b1e5093d8cc81975bc46acf38fb
Reviewed-by: David Schulz <david.schulz@digia.com>
2013-09-13 11:35:43 +02:00
hjk
5e5d840b53 Debugger: Streamline settings access pattern
Change-Id: Ie73b8d9fa945ee9dcbab67177410cc782979c8ad
Reviewed-by: David Schulz <david.schulz@digia.com>
2013-09-05 11:07:00 +02:00
Christian Kandeler
15d1048ef2 Fix some include statements.
In several places, it says '#include "..."' for headers
from different libraries/plugins.

Change-Id: I96cd74fef9b30163adefe3e1720e0847bed9553a
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-09-04 15:51:36 +02:00
hjk
6ef5aaad67 Debugger: Set model object names at construction time
Change-Id: Ib1d273ef2c2bb97a2343da6d361fde7c01012040
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-08-19 17:16:06 +02:00
hjk
1c5c51c91d Debugger: Disable # characters in watched expression
They are not useful and break the dumper protocol.

Change-Id: Ice7e21575e371ee3f8bb8cfb80b73aed47542932
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-08-10 21:23:00 +02:00
hjk
abc6e351b8 Debugger: Make QImage dumper work with release versions
This accidentally also allows non-debug Qt users to reproduce the
http://blog.qt.digia.com/blog/2010/04/22/peek-and-poke-vol-3/
smiley drawing.

Change-Id: Ica436f55494d012d5516ef9d00d6310f2ac2d4ee
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-07-01 14:21:43 +02:00
hjk
84b72f8974 Debugger: Add option to display pointer as arrays
Task-number: QTCREATORBUG-8904

Change-Id: Ic4129bff89afb6b3f6d210cbd738c3281c174884
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-06-07 17:12:57 +02:00
Kai Koehne
6902ee2617 Debugger: Fix warnings on qt creator startup
Predefined entries like "Locals" do not have a value.

Remove asserts on every startup:

SOFT ASSERT: "!result.isEmpty()" in file
/home/kkoehne/dev/creator-2.8/src/plugins/debugger/watchhandler.cpp,
line 956

Change-Id: I16b97c61256c6083440b9fa228113be9d0867e5d
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-04-02 13:26:56 +02:00
Friedemann Kleint
85d12bb409 Clean headers in debugger plugin.
Change-Id: Ia50e61a82101b699390b23b4f1ea9509619314bb
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-03-22 10:00:00 +01:00
Friedemann Kleint
68cd15382d Fix Krazy warnings about includes/header guards in Debugger.
Change-Id: If547a0002d37710fac58c1a13bacc48cf531bed7
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-03-12 12:49:48 +01:00
hjk
e1f8ed7384 Debugger: Sort out the 'address' vs 'origaddr' fields
Now 'address' always refers to the address of the object or
field mentioned in a WatchItem whereas 'origaddr' is
optionally used for the address of the pointer (not its
value) pointing to the object/field in case of "autoderef"
pointers.

Change-Id: I718eb13e6147dafca016c85db6c8b31c631cc764
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-03-08 17:29:06 +01:00
hjk
717f237ea0 Debugger: Better usability of separate displays
Close separate displays when watch models get destroyed, make
geometry persistent in the session.

Change-Id: I67a22b0a17fa63441073f8ad0b06bcc0f49b348c
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-02-11 13:27:45 +01:00
Tobias Hunger
255f9fb372 Fix warning about use of uninitialized values
Clang complains that these values may be used uninitialized if both
conditions are false. This can actually not happen, so just initialize
them to 0 to quiten up the compiler.

Change-Id: I32530b974058e3484b5e7005717b7cd389cf7305
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-02-06 14:49:00 +01:00
Oswald Buddenhagen
1fda2111d4 Merge remote-tracking branch 'origin/2.6'
Conflicts:
	src/plugins/autotoolsprojectmanager/AutotoolsProjectManager.pluginspec.in
	src/plugins/debugger/qtmessageloghandler.cpp
	src/plugins/debugger/qtmessagelogwindow.cpp
	src/plugins/madde/maemodeployconfigurationwidget.cpp
	src/plugins/qmldesigner/components/integration/designdocumentcontroller.cpp
	src/plugins/qmldesigner/designercore/include/widgetqueryview.h
	src/plugins/qmldesigner/designercore/metainfo/metainfoparser.cpp
	src/plugins/qmldesigner/designercore/model/modelnodecontextmenu.cpp
	src/plugins/qmldesigner/designercore/model/modelnodecontextmenu.h
	src/plugins/qmlprojectmanager/qmlprojectapplicationwizard.cpp
	src/plugins/qnx/bardescriptormagicmatcher.h
	src/plugins/qt4projectmanager/profilekeywords.cpp
	src/plugins/remotelinux/deployablefilesperprofile.cpp
	src/plugins/remotelinux/deployablefilesperprofile.h
	src/plugins/remotelinux/deploymentinfo.cpp
	src/plugins/remotelinux/deploymentsettingsassistant.cpp
	src/plugins/remotelinux/profilesupdatedialog.cpp
	tests/auto/icheckbuild/ichecklib.cpp
	tests/auto/icheckbuild/parsemanager.cpp
	tests/auto/icheckbuild/parsemanager.h

Change-Id: Ie465a578446a089e1c502d1cb1096e84ca058104
2013-01-31 16:25:33 +01:00
Robert Loehning
298531e370 Incremented year in copyright info
Change-Id: Ic6a9ff0359625021ebc061d22db6811814534205
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2013-01-29 16:27:03 +01:00
hjk
63439a5f21 Debugger: move MI decoding to debuggerprotocol.{h,cpp}
Change-Id: I9d2eaf43b66f0db74ba2584157d6df8280d76652
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-01-24 12:22:31 +01:00
Friedemann Kleint
78d134cdcd Debugger: Add Image viewer with color picker and context menu.
Change-Id: I31673da5ba85e87c9819059a9e6806b5deecff1e
Reviewed-by: hjk <qthjk@ovi.com>
2013-01-08 17:16:28 +01:00
Orgad Shaneh
29a93998df Remove braces for single lines of conditions
#!/usr/bin/env ruby

Dir.glob('**/*.cpp') { |file|
  # skip ast (excluding paste, astpath, and canv'ast'imer)
  next if file =~ /ast[^eip]|keywords\.|qualifiers|preprocessor|names.cpp/i
  s = File.read(file)
  next if s.include?('qlalr')
  orig = s.dup
  s.gsub!(/\n *if [^\n]*{\n[^\n]*\n\s+}(\s+else if [^\n]* {\n[^\n]*\n\s+})*(\s+else {\n[^\n]*\n\s+})?\n/m) { |m|
    res = $&
    if res =~ /^\s*(\/\/|[A-Z_]{3,})/ # C++ comment or macro (Q_UNUSED, SDEBUG), do not touch braces
      res
    else
      res.gsub!('} else', 'else')
      res.gsub!(/\n +} *\n/m, "\n")
      res.gsub(/ *{$/, '')
    end
  }
  s.gsub!(/ *$/, '')
  File.open(file, 'wb').write(s) if s != orig
}

Change-Id: I3b30ee60df0986f66c02132c65fc38a3fbb6bbdc
Reviewed-by: hjk <qthjk@ovi.com>
2013-01-08 10:48:18 +01:00
Ryan May
577fe8a49f Debugger: Make tabs in separate view closable.
Refactor the separate view from directly using a QTabWidget to a subclass
so that the necessary signal can be hooked up.

Change-Id: Ibc2653d554882a36a85162708021422843057bc1
Reviewed-by: hjk <qthjk@ovi.com>
2013-01-01 01:09:31 +01:00
Ryan May
45cd2d1e8f Debugger: Set current tab in separate value display
As widgets are added and deleted from the tab widget, they can end
up in almost any order. As a result, when the window is raised, the
current tab does not necessarily reflect an item currently in the
watch view. Instead, make a tab the current one as it is added,
ensuring one of the currently relevant values is displayed by default.

Change-Id: Ia2d2eb60c844a008f8086820564dd20389ce519b
Reviewed-by: hjk <qthjk@ovi.com>
2012-12-29 13:09:03 +01:00
Friedemann Kleint
82b781f5a7 Auto-detect Endianess of image data by looking at width value.
Change-Id: I403fe7dcf841129e4c24b2c2787f58aa94540c6e
Reviewed-by: hjk <qthjk@ovi.com>
2012-12-28 19:25:42 +01:00
Friedemann Kleint
7bc0818d7a Fixes to edit format handling.
- Close window after last tab has been removed.
- Remove type name from tab title (results in too-long tab titles
  for templates).

Change-Id: If4b55423261ed4992b8a7e983704006fdda86843
Reviewed-by: hjk <qthjk@ovi.com>
2012-12-28 19:21:30 +01:00
Friedemann Kleint
a9ea71c26f Use switch in showEditValue().
Change-Id: I37c628ea18663eb8fec5351e3b2d580617ff7c35
Reviewed-by: hjk <qthjk@ovi.com>
2012-12-14 12:59:13 +01:00
Friedemann Kleint
224eaa817a Fix separate window for Utf8 strings.
Change-Id: Ibb355923f71a9c9a387edecb8e67760561b13117
Reviewed-by: hjk <qthjk@ovi.com>
2012-12-14 11:12:18 +01:00
Friedemann Kleint
fe6be533bc Debugger: Add a tab widget for separate value display.
Debugger display in separate windows currently opens several
widgets without title at the same location that disappear
below the main window when stepping.

Put them in a tabwidget and raise it when setting new values.

Task-number: QTCREATORBUG-8344
Change-Id: Icb6dd8942ab851aeeb6a9248c4a1360e8841cf61
Reviewed-by: hjk <qthjk@ovi.com>
2012-12-13 15:19:21 +01:00
Eike Ziller
387f5a7006 Merge remote-tracking branch 'origin/2.6'
Conflicts:
	src/plugins/cpptools/cppcompletion_test.cpp
	src/plugins/projectexplorer/kitmanagerconfigwidget.cpp
	src/plugins/qmlprojectmanager/qmlprojectapplicationwizard.cpp
	src/plugins/qtsupport/baseqtversion.cpp
	tests/auto/cplusplus/findusages/tst_findusages.cpp

Change-Id: Idd2abc09753a71a6c252bfa9914274459b2c7e63
2012-11-26 10:52:28 +01:00
Aurindam Jana
32a0afb9df Inspector: Fetch objects lazily
QML objects are fetched lazily when constructing the object tree.
Incase parents have not been previously fetched, we fetch the
required data to construct only the relevant branch of the tree.

Task-number: QTCREATORBUG-8246
Change-Id: Id529c3b2334d33ff4eb46b14f50cf042ad2960e2
Reviewed-by: hjk <qthjk@ovi.com>
2012-11-24 22:51:19 +01:00
Eike Ziller
3e7d94c362 Merge remote-tracking branch 'origin/2.6'
Conflicts:
	qtcreator.pri
	qtcreator.qbs

Change-Id: Ib5e7c433606406d123b4a384ae1b48e2dbb26824
2012-11-16 15:31:02 +01:00
Aurindam Jana
bc5cda03e4 Inspector: Do not disable Locals and Expressions
Inspector follows a different cycle and its contents are
always valid during a debug session. Show the values in
Locals and Expressions as valid for user to interact
with them.

Task-number: QTCREATORBUG-8167

Change-Id: If2f622de5b8bf6da78571bc007efd19602a5f389
Reviewed-by: hjk <qthjk@ovi.com>
Reviewed-by: Robert Loehning <robert.loehning@digia.com>
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2012-11-09 16:23:12 +01:00
Orgad Shaneh
caade07b8c Debugger: Fix warning
Change-Id: Ifb44512a99d7a08eed9631b94075ca6c096a378b
Reviewed-by: hjk <qthjk@ovi.com>
2012-10-31 15:02:32 +01:00
Eike Ziller
67b0637934 Merge remote-tracking branch 'origin/2.6' 2012-10-29 15:13:06 +01:00
Friedemann Kleint
0ae5695649 Try to watch local variable in watchwindow-DND, too.
Fix codepath overlooked in
6886e485de by introducing
a WatchHandler::watchVariable().

Task-number: QTCREATORBUG-8120
Change-Id: Ibab2619754e0006f3c81810a6bfdf758261c169e
Reviewed-by: hjk <qthjk@ovi.com>
2012-10-29 13:29:56 +01:00
Eike Ziller
720cb9f35e Merge remote-tracking branch 'origin/2.6'
Conflicts:
	qtcreator.pri
	qtcreator.qbp
	src/libs/ssh/sshconnection.cpp

Change-Id: I2946cbec1b5159eef9e47949860b28fba1e51529
2012-10-11 21:11:40 +02:00
Aurindam Jana
388a21c826 QmlDebugger: Insert locals correctly
The watchhandler needs to be reset for locals before
inserting the values of a new frame. Also the DebuggerTooltipManager
needs to be notified. The values of the locals in the
LocalsAndExpressions window should be editable.

Task-number: QTCREATORBUG-7992
Change-Id: I556e23b408db09b510f1f2bc350ff55187ec87c2
Reviewed-by: Robert Loehning <robert.loehning@digia.com>
Reviewed-by: Christiaan Janssen <christiaan.janssen@digia.com>
2012-10-10 16:55:07 +02:00
Eike Ziller
6fd252b0a5 Merge remote-tracking branch 'origin/2.6'
Conflicts:
	share/qtcreator/qml/qmlpuppet/commands/endpuppetcommand.cpp
	share/qtcreator/qml/qmlpuppet/commands/endpuppetcommand.h
	src/plugins/debugger/qtmessageloghandler.cpp
	src/plugins/debugger/qtmessageloghandler.h
	src/plugins/debugger/qtmessagelogwindow.cpp
	src/plugins/madde/maemodeployconfigurationwidget.cpp
	src/plugins/madde/maemodeployconfigurationwidget.h
	src/plugins/remotelinux/deployablefilesperprofile.cpp
	src/plugins/remotelinux/deployablefilesperprofile.h
	src/plugins/remotelinux/deploymentinfo.cpp
	src/plugins/remotelinux/deploymentinfo.h
	src/plugins/remotelinux/deploymentsettingsassistant.cpp
	src/plugins/remotelinux/profilesupdatedialog.cpp
	src/plugins/remotelinux/remotelinuxdeploymentdatamodel.h
	tests/auto/icheckbuild/ichecklib.cpp
	tests/auto/icheckbuild/ichecklib_global.h
	tests/auto/icheckbuild/parsemanager.cpp
	tests/auto/icheckbuild/parsemanager.h
	tests/manual/ssh/tunnel/tunnel.h

Change-Id: I04d7761df6bd936ad00e0547974284c967d39580
2012-10-05 21:20:50 +02:00
hjk
386ca7c8dd Adjust license headers
Change-Id: Ice592c6de9951ee3b2c4cb52ed0bb3b6770e0825
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2012-10-05 17:12:56 +02:00
hjk
009c3f1a26 debugger: use symbolic constants for "Display in Seperate Window" modes
Change-Id: Iab2b918e94abddb1fb4132c27e0b5f29810d4598
Reviewed-by: hjk <qthjk@ovi.com>
2012-10-05 08:12:26 +02:00
hjk
b3c6f7be3f debugger: make QByteArray displayable in separate window
Change-Id: I6ec1e880e1c82415361545f57115353d843ee7f3
(cherry picked from commit ce381a81cf03bb122a9ce4102fbbb56825ce05e3)
Reviewed-by: hjk <qthjk@ovi.com>
2012-10-04 15:16:58 +02:00
hjk
aa8602e1e8 debugger: fix color for changed items in locals and expressions view
Change-Id: I93905f8e97e2738590fecf41ac7294c2f6872335
Reviewed-by: hjk <qthjk@ovi.com>
2012-09-21 17:48:31 +02:00
hjk
00f7677fc4 debugger: fix "Display in Separate Window" for QString
This is fixing a regression introduced recently during the
WatchModel rework.

Change-Id: I128368e78d00f1ef1fc96f7319b19873099396fa
Reviewed-by: hjk <qthjk@ovi.com>
2012-09-07 15:02:00 +02:00