Commit Graph

66 Commits

Author SHA1 Message Date
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
hjk
a0b60bef07 Debugger: Fix variable name in dumper
Change-Id: If32960e22c48ff90b77f06243e7a9c19408d0c34
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-04-16 09:45:42 +02:00
hjk
e6292d3681 Debugger: Better connection count display
Not a full fix yet. Disconnect does not reduce the count
since the Connection object remains in the structure,
only the receiver gets set to 0.

The connections are now listed as subitem of [signals]

Change-Id: I3dd795b3731b30e2af6f4d0e5da71dbde8996649
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2014-04-11 16:50:17 +02:00
hjk
03c6df1fab Debugger: Fix staticMetaObject extraction with LLDB
When asked for Foo::staticMetaObject, it will find
any *::staticMetaObject. Looking for the mangled name
finds the one we need.

Change-Id: I4508a3c282bc8a46efa011efb73f32cdbf46398c
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2014-04-11 14:24:35 +02:00
hjk
c7701e8164 Debugger: Use proper item count for signals and methods
Change-Id: I2dd795b3731b30e2af6f4d0e5da71dbde8996649
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2014-04-10 13:38:12 +02:00
hjk
13a4f739ef Debugger: List QObject methods and signals in dumper
This mostly re-activates code from the old code path
in the QObject dumper.

Task-number: QTCREATORBUG-11997

Change-Id: Ie3e6eddffe8d0edd7d5947c2eec03d707bd2436b
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-04-10 10:55:15 +02:00
hjk
d8adc10fbe Debugger: More direct way to extract dynamic QObject properties
This avoids the address == -1 problem for generated
values with LLDB.

Change-Id: I13cfc7387d8e5329b588d6d841cd9c2322270363
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-04-04 11:00:00 +02:00
hjk
b5f4678846 Debugger: Handle failing inferior calls more gracefully
At least for GDB on Windows that's a rather typical situation due to
GDB's "Internal error: pc in read in psymtab, but not in symtab"

Task-number: QTCREATORBUG-11164

Change-Id: If79d586b59e2c1ee37558e8a811091fefc69ac2d
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-04-03 13:41:21 +02:00
hjk
18b91ae4ec Debugger: Move putPlainChildren() to Dumper base
It's reusable...

Change-Id: I1a0f40b9b3bbecf99024d3a2fd5148baf604109b
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-04-02 11:03:43 +02:00
hjk
50459e5713 Debugger: Use target not host architecture in QDateTime dumper
Task-number: QTCREATORBUG-11164

Change-Id: I83bd56f91c1e5342e1a755638c794dde7f5b345a
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-04-02 11:00:22 +02:00
hjk
7932a9ddbc Debugger: More robust metaobject extraction
Change-Id: I359cbdcfb0594b988e041c06efa44c6fd85a8d65
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-04-01 12:38:55 +02:00
hjk
5f16194870 Debugger: Add test for dynamic QObject property dumper
Change-Id: I3216a8f891b76a5e9d342aa97540fcb73c590531
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-03-25 16:59:15 +01:00
hjk
f7a05780d2 Debugger: Fix QObject property dumper for Qt4
Change-Id: I5aa28a3c1fb5847b758f5f1a27359cab3e38ff5c
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-03-20 15:44:49 +01:00
hjk
484bacdd51 Debugger: Robustify QMetaObject extraction.
LLDB manages to extract a QAction metaobject from any
plain int and classes without any bases.

Change-Id: I22cdd8e5c73d21d837772be83087dc065698db30
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-03-19 17:07:32 +01:00
hjk
5d1bc3859d Debugger: Add simple QV4::String dumper
Change-Id: Ide277128d30c4dcc5c396441ebd6e40aa3fc8b51
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2014-03-18 10:32:31 +01:00
hjk
af43f684bd Debugger: Consolidate metaObject recognition
Same code can be used for LLDB and GDB...

Change-Id: I07aae10fec28f01425cc13285504f57aef3afd25
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-03-12 14:31:36 +01:00
hjk
b7ebfd274f Debugger: Move some common bridge code to dumper base
Change-Id: I9fd988c84bff5e02bc45478994f27a7bddb3358b
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-03-07 13:14:13 +01:00
hjk
d14676dc10 Debugger: Remove glitch in QObject property reporting.
There was a spurious item named [10] (or similar) at the end
of the list.

Change-Id: I9bfd41325f47206c11e26161f6b0838778f8c306
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-02-28 17:16:36 +01:00
hjk
cd35d16983 Debugger: Also display dynamic QObject properties
Also, don't pre-compute the property count for performance
reasons. This leaves us with not too much information before
actually expanding the note, but better than waiting a
minute before seeing anything from a qwidget or such.

Change-Id: Ia39a01ec053ca821bb6cc76f09b3e836fa0d1b03
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-02-13 11:33:46 +01:00
hjk
b9834e4092 Debugger: Move special argv display to DumperBase and use for LLDB, too
Change-Id: Ie1913f5a5062d230e02a4f1738ca14bd6cebc55c
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-02-04 17:02:38 +01:00
hjk
357598059d Debugger: Consolidate ways to dereference in dumpers
Change-Id: I513123a1b5564ff2beee13b5d0264f1fa8fc698e
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-30 16:17:40 +01:00
hjk
d40ee224d4 Debugger: Handle extraction of data from temporary SBValue
Change-Id: I5d79b59e971933fef8ef94c20333035188d33a57
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-30 16:01:43 +01:00
hjk
d37e890a1d Debugger: Show name also for QObject subclasses without Q_OBJECT macro
Change-Id: Ifabf3cc68751a06c15fc1a5a05cad5e5a64c8775
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-29 13:56:01 +01:00
hjk
ea8107339f Debugger: Fix long standing regression of property display with Qt 4
Change-Id: Ic4ed92a00d2084b63f79da764377ccde42475ac6
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-29 13:55:02 +01:00
hjk
717e384bb5 Debugger: Handle $xmm0 etc in watchers
Change-Id: Ic2d2bd88da6b773b72518d6058c3be2ca389d73a
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-25 22:32:28 +01:00
hjk
51b743a2d1 Debugger: Some dumper robustification
Change-Id: Id0af97ed54dd936a68696e66c3fcf4dcbf2645e8
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-25 15:39:37 +01:00
hjk
392123388a Debugger: Some qobject dumper speedup
Slight change in behavior: Only classes with Q_OBJECT
macro are now recognized as QObjects.

Change-Id: If2df6c31ef6d098944e317e27dfcbc21d60f61ee
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-24 18:27:00 +01:00
hjk
cc3facd944 Debugger: Enable QObject property display with LLDB
Finally.

Change-Id: I3257ffbb23ca2ea4eec9a97335a95580c9c4482b
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-24 17:36:27 +01:00
hjk
2e7479aef0 Debugger: Add data extraction for dumper inferior call results.
Change-Id: I868be727c48cb3aa570f196dadde71706df01596
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-24 16:46:51 +01:00
hjk
2b9a00f172 Debugger: Streamline encoding handling
Replace base64 with hex encoding, centralize
conversions, drop dependency on binascii module.

Task-number: QTCREATORBUG-11317

Change-Id: Id3d419d4fe8f75710352f4bc0e6310be849426bd
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-23 16:50:08 +01:00
hjk
a1e7bae417 Debugger: More workarounds for LLDB child object address reports
Change-Id: I33ae39b3bd347c296626c03636775f6057faf385
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-22 14:46:40 +01:00
hjk
8cb5f1547d Debugger: Prefer hex values for pointers in transport
Doesn't change the result, but makes debugging the
protocol easier.

Change-Id: I8fae79bfbd647c296626c03636775f6057faf385
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-22 14:04:10 +01:00
hjk
d6a2d0967f Debugger: Better QObject display with LLDB
Change-Id: Ide88fd07e077a158223a68cc504fff5a5b9391ac
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-21 18:20:43 +01:00
hjk
376f58df34 Debugger: Fix QObject/property dumper
Change-Id: Ied68fd07e077a185223a68cc504fff5a5b9391ac
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-20 17:08:53 +01:00
hjk
44374dde75 Debugger: Also handle LLDB in compact map item display
Change-Id: I5a3f8915f2b6eb52e706d344b9e7998e1f96ab1f
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-15 16:50:30 +01:00
hjk
c959fc5fd5 Debugger: Use Dumper.putPair in Q{Multi,}Map dumper
Change-Id: I4c9abdc1d14823b35a8cbf3b375acc4a45274193
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-15 15:20:34 +01:00
hjk
ef4e417b0c Debugger: Improve some libc++ dumper.
Change-Id: I18f2ad9e46c88302d523b879558f65b4a86b0e2c
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-14 18:52:41 +01:00
hjk
df7d9eb8b6 Debugger: Add some convenience to display "paired" data
The switch between compact/full display was so far part of the
individual dumpers, there's some potential for code-reuse here.

Change-Id: I47e3308cfd2209948adbf70fca617908e793c0fc
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-14 15:06:53 +01:00
hjk
345221d738 Debugger: Add dumper for libc++'s std::unordered_map
Change-Id: I15bf32c1f77c17f42ee1da39f1353cff580fa6eb
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-13 16:12:09 +01:00
hjk
8ebb6aa9f6 Debugger: Extend use of Dumper.putPlotData
Make backend-agnostic and use it for QFiniteStack and
std::{array,vector}

Change-Id: I1702d4290ee24c957f77b539591313ac83021003
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-08 18:02:29 +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
Eike Ziller
e035ae6df1 Merge remote-tracking branch 'origin/3.0'
Conflicts:
	share/qtcreator/debugger/stdtypes.py
	src/plugins/qmlprofiler/qmlprofilereventsmodelproxy.cpp

Change-Id: I5d86746d58960e41e01e725ccb2a6c00890f0dfd
2013-12-18 11:02:16 +01:00
hjk
23d6a1a23e Debugger: Add dumper for QTimeZone
Change-Id: I1b20529d7ecdcbf5480e95d6e7be89a2fdb6a8b7
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2013-12-16 13:42:03 +01:00
Eike Ziller
0a893fc6b4 Merge remote-tracking branch 'origin/3.0' 2013-12-02 15:33:56 +01:00
hjk
242cb17919 Debugger: Adjust QDateTime dumper for Qt 5.2
Change-Id: I53a5701c9d1791e2705eafb258ff440f97e53b87
Reviewed-by: John Layt <jlayt@kde.org>
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-12-02 15:14:42 +01:00
hjk
8f1fc056e9 Debugger: Fix regression in pointer display
'None' is not in a range...

Change-Id: I2df534556ab811dbd285d94ec14021d8597fe226
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-11-27 15:24:27 +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
20eba776da Debugger: Show more information for raw pointers
Task-number: QTCREATORBUG-7550

Change-Id: Ic4bdf6cdb402aac4aa0245568a0d6f1eb7a9e259
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2013-11-27 10:15:26 +01:00
Eike Ziller
4538ccb46c Merge remote-tracking branch 'origin/3.0'
Conflicts:
	share/qtcreator/debugger/gdbbridge.py

Change-Id: I32d8158c475f927b50ef06fde9ab8189ebdbcbbc
2013-11-15 10:26:57 +01:00