Commit Graph

394 Commits

Author SHA1 Message Date
hjk
caca06adbd Debugger: Prevent multiline Value entries in Locals and Expressions
Change-Id: I8647875aa3cb31ecc0d89064c196df7852693bae
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-09-04 17:19:28 +02:00
Christian Kandeler
1d5091e48f Do not use deprecated Qt functionality.
Replace all* remaining deprecated Qt 4 functions with
their Qt 5 counterparts. This means we no longer need to
define the QT_DISABLE_DEPRECATED_BEFORE macro.
This patch is relatively small because most source-compatible
changes of this kind have been done before.

* The one exception is the QmlDesigner, which uses QWeakPointer
in a deprecated way all over the place.

Change-Id: Id4b839c6685f3b5bdf2b89137f95231758ec53c7
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-08-29 14:10:41 +02:00
hjk
5ac407eecc Debugger: Reduce line noise
Move some function out of the DebuggerCore "namespace", to avoid one
indirection and removes clutter in the calling code.

Change-Id: I1c870d5c7eeade32fa63dedf581490fbb090cd6a
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-07-28 15:48:15 +02:00
hjk
f0b2d6535e Debugger: Rework editor tooltips handling
Fix expansion and updating.

Persistence and non-locals are still lacking.

Change-Id: I74e25199d50350516afc686a05836e239bfc8acb
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-07-11 12:19:01 +02:00
hjk
5dd261662b Debugger: Remove direct entering new watchers in the treeview
Instead pop up the "Add new expression dialog". Same amount of activity
needed, but more uniform in UI and code and hopefully less confusion
about the now-gone <Edit> marker.

Change-Id: I228801dc51f6d09ea9991b98399dc9ef04aa96c8
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-07-08 10:49:01 +02:00
Fawzi Mohamed
1fc03107f3 debugger: compile fix
change QStringRef+QLatin1String to QString+QLatin1String
to compile with Qt 5.3.1 (on mac) and Qt 4

Change-Id: I37da7bdbb6185639f90232bc8554c79535692d07
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2014-07-03 17:05:08 +02:00
hjk
ca9e2dd9d7 Debugger: Show base class names simplified
Especially for highly templated code it's awful to have the
name column populated by 'std::basic_string<...' gibberish.

Change-Id: I7344bed77a0e29cf88f031e1a663ed6c4c1c7b51
Reviewed-by: David Schulz <david.schulz@digia.com>
2014-07-03 13:22:21 +02:00
hjk
10c2de0797 Utils: Even more treeview column size fine tuning
Do it manually now, directly. Changing behavior flags and waiting
for the view to act by itself turned out to be too fragile.

Change-Id: I31014219b8b20582401bf0431fb805b683aa953f
Reviewed-by: Tim Sander <tim@krieglstein.org>
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-06-27 10:42:09 +02:00
Nikita Baryshnikov
12103e0f67 Reinvent deprecated qSort as Utils::sort
Change-Id: I4f6011cc2b6127037249aabc2426a88ad7108ebf
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-06-19 14:00:32 +02:00
hjk
99271c2343 Debugger: Some infrastructure for stricter watch model testing
Targeting re-use for tooltips, and potentially sorting.

Change-Id: I1ce8f4da73ab5ca13cd70d7c651bc76c67f91a39
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-06-03 16:50:14 +02:00
hjk
be25be4705 Debugger: Better handling of the tabbed extra views
Closing with the [x] now resets the Display mode of the associated
iname, and the view hides if there are no visible tabs left.
Also, remove the long-unused DisplayProcess format.

Change-Id: Ibd3308549af75e345c672c07f6714d26e7196e5a
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-06-03 10:53:01 +02:00
hjk
252048ef01 Debugger: Make char * displayable in separate windows
Task-number: QTCREATORBUG-7313
Change-Id: I8d475dd94a48e7a1d5efe4c2c0d90cb6bdf9b3e2
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-05-28 15:07:59 +02:00
hjk
4fefb1ca2a Debugger: Restrict non-negative display convention to non-decimal bases
Change-Id: I95421efa219a85cb81bf1d6a4acbc71eef5736ac
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-05-23 13:06:12 +02:00
hjk
62904f32ef Debugger: Also allow formatting negative numbers as hexadecimal
Change-Id: I0324c53b42424f25b1c70c10d3f31b515398712d
Reviewed-by: Tim Sander <tim@krieglstein.org>
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-05-22 17:12:24 +02:00
hjk
40052046fd Debugger: Rework display length limitation systems
There are two values now, one to limit an entry in the L&E view
(default 100) and a hard upper limit (at 1 mio).

If displayed values are elided, the true length is shown in addition.

Change-Id: I180b70446c18e258c164e5af75b88d4c8b6c53f2
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-05-16 17:50:18 +02:00
hjk
3f0d02ad7f Debugger: Rework display type selection
The previous index based way was getting too brittle, use enums instead.
Also add a switch between exponential and flat display for floating
point types.

Task-number: QTCREATORBUG-12050
Change-Id: I86addbac5a80e8b79b176c6107b251b466503fe7
Reviewed-by: David Schulz <david.schulz@digia.com>
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-04-29 09:18:00 +02:00
Friedemann Kleint
e0272aefd8 Fix array format message in Debugger.
Change-Id: Ibd0a1dd6b4a48342eed5b889eff786fbebae7063
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-02-28 13:11:11 +01:00
hjk
8e50ff5b7a Debugger: Fix non-decimal display of negative numbers
Task-number: QTCREATORBUG-7322

Change-Id: Iabef05a8f9e77ce9ee3d6f7a456e876a0f823fd4
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-02-14 12:33:00 +01:00
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