Commit Graph

888 Commits

Author SHA1 Message Date
Orgad Shaneh
9c09ca9e42 Merge remote-tracking branch 'origin/4.2'
Change-Id: Ia98031eb87f1859c3736faa0cdd8b655e8a50689
2016-11-14 11:17:13 +02:00
hjk
77fe2959ce Debugger: Fix a few return value types in putCallItem uses
Change-Id: If66fb7bf6726dd8ec3f630d11c004ac24fae4d06
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-11-14 07:37:09 +00:00
hjk
e94c87f1a7 Debugger: More quote cosmetics
That's a follow-up to 88e79e16a6a91

Change-Id: I19725bca1c547bd961094f2d00e85e170b2be33e
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2016-11-11 12:56:48 +00:00
hjk
8fce605913 Debugger: Display {un}signed char* similar char*
Task-number: QTCREATORBUG-17236
Change-Id: Ibbc58807572c6d1785f20948992f7a2c0dcc87f8
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-11-11 09:07:41 +00:00
hjk
ae4d3c52e6 Debugger: Sanitize report of timings
Use Python's list and dict output directly, instead of
a manually stringified version thereof. Also, report
milliseconds instead of microseconds.

Change-Id: Ibcbdea732e7ecc58fd672bc5da794832215865b4
Reviewed-by: hjk <hjk@qt.io>
2016-11-10 20:14:25 +00:00
hjk
5fb2dc6e47 Debugger: Some dumper code cosmetics
Mostly quotes, remove some unneeded comments, ...

Change-Id: Ie3f410ac84e6cfe48e7971af948326abc21f2554
Reviewed-by: hjk <hjk@qt.io>
2016-11-10 19:59:47 +00:00
hjk
67505423e6 Debugger: Dumper code cosmetics
Mostly left-overs from earlier reorganization.

Change-Id: I94f44efa1aab1e17de3c0fec6c230722149a1404
Reviewed-by: hjk <hjk@qt.io>
2016-11-10 19:29:02 +00:00
hjk
75be7de6f4 Debugger: Make dynamic type lookup more robust
... in builds without debug information.

Change-Id: I3842736aebe5b7c6b46d0ea1eec540dc3c088920
Reviewed-by: hjk <hjk@qt.io>
2016-11-10 19:22:25 +00:00
hjk
9040c4081e Debugger: Use less GDB inferior calls in normal field extraction
They are not usable in core files.

Change-Id: I2134b61f27c27862c12a679d0acf7bebc9fcc7a2
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: hjk <hjk@qt.io>
2016-11-10 16:20:37 +00:00
hjk
77bd581f49 Debugger: Re-enable access to dumper.Value by integral index
Task-number: QTCREATORBUG-17220
Change-Id: I63632a90e2518151b3bf20b1241c24f9808ec39c
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-11-10 07:02:58 +00:00
hjk
537c8721b7 Debugger: Also display symbolic names for pointers
GDB-only for now.

Task-number: QTCREATORBUG-7550
Change-Id: I5a1096028e7454937b727419ec73f5fd979f4e8b
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-11-07 10:44:29 +00:00
David Schulz
8736565c14 Debugger: Adjust to latest field changes
Change-Id: Ic4b3c8f0670a0d58e3d762ff0765862709901d2a
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-11-07 09:57:05 +00:00
David Schulz
bf133156ee Debugger: Replace the native void type with a fake void type
The native void type returns errors when accessing for example size
or name.

Change-Id: Ia5826ff4894eb7205d37a15661b82d9410171413
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-11-07 09:57:00 +00:00
David Schulz
bf982fdfb9 Debugger: Set size of void to pointer size
The previously defined size of zero resulted in a number
of division by zero exceptions.

Change-Id: I3faed573bb15b9b9fd825281b8f9b0c15a02a7de
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-11-07 09:56:57 +00:00
David Schulz
4411f91139 Debugger: Set value name in cdbbridge
Change-Id: Ida4068d86b4a0785fcd848cdc4957dcf3a328135
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-11-07 08:42:02 +00:00
hjk
6f1bd8bbdb Debugger: Consolidate name handling of anonymous structs
Change-Id: I44acfdccb5cad02c95270490e319caca334c8a4b
Reviewed-by: hjk <hjk@qt.io>
2016-11-04 21:21:26 +00:00
hjk
5276f35ae3 Debugger: Move base class numbering to generic code
Change-Id: I046a587f9fbf2a6345f3c0432a1b5937069a9304
Reviewed-by: hjk <hjk@qt.io>
2016-11-04 20:47:09 +00:00
hjk
7dbc62a182 Debugger: Robustify special argv detection
Check for Pointer(Pointer(Char)) instead of a 'char **' name
which fails to match 'char**'.

Change-Id: Ie3d523924e64156a32df6db5c87997bb88f125a1
Reviewed-by: hjk <hjk@qt.io>
2016-11-03 16:30:13 +00:00
hjk
1574f9cfca Debugger: Remove 'const' from more types again
Change-Id: I95e02a462e3b7614342e1515c96290a954d27dca
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2016-11-02 16:17:53 +00:00
hjk
3be260ecc5 Debugger: Replace 'first base' guessing logic
Use the fact that the order of the first three vtable entries of a
QObject is fixed and the size of their implementations is roughly
known.

Change-Id: I3d13f594cb1c1f162a520da18b2bc2aaba852092
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-11-02 15:11:32 +00:00
Orgad Shaneh
410211e090 Merge remote-tracking branch 'origin/4.2'
Change-Id: Ibb932efece05a5f5613823fbc79c5b7601c73905
2016-11-02 16:52:58 +02:00
hjk
8bf8b5f61f Debugger: Make dumpers work for Qt 4 again
Change-Id: I78ac75161508eb6889d1a8a5d04df2860804b907
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-11-02 13:01:47 +00:00
hjk
b0da1e3ce4 Debugger: Fix display of vtable entries
Task-number: QTCREATORBUG-17050
Change-Id: I17fc245a8a766f3a450c0bea966aab69ca9eb5b9
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-11-02 12:24:50 +00:00
hjk
77db31db3b Debugger: Use native field accessors again
This is a partial revert of the type id change (bd2653fb) to get
the case of virtual bases work again, as it falls back to native
field accesses everywhere we have native types.

This is likely to be a performance regression with CDB/Python,
but since this combination is experimental and not used by
default in 4.2 getting GDB/LLDB right is more important.

Medium term we might want to have a more fine-grained approach
to use of type ids (e.g. use native field accesses on a case-by
-case base only for type with virtual inheritance)

Change-Id: I239111e6ce5f3365b750068bfc4dafb12be1d53c
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-11-02 10:36:06 +00:00
David Schulz
0d2957c50a Debugger: Adding function returning the qtHookData symbol name
Change-Id: I2749b6823a8a9da4a343b0fdb112df893e935eb3
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-11-02 09:56:10 +00:00
David Schulz
19af0d44cd Debugger: Fix static meta object lookup fo cdb
Change-Id: I47597a83137e07f61b2ae55ee6446ff345b861a5
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-11-02 09:54:35 +00:00
David Schulz
03cb7c720a Debugger: Add code for unresolvable types
Change-Id: Icb70e471a4a18b3f43442c1972c2661baadb23da
Reviewed-by: hjk <hjk@qt.io>
2016-11-02 09:12:59 +00:00
David Schulz
ca5344ce60 Debugger: Create a pointer value from data returned from evaluate
The evaluate function of the cdb python module returns an integer
representing the address of the evaluated expression. If the expression
does not evaluate to a pointer the python module currently returns a
NoneType.

Change-Id: Ifc77109ef2161a3895a7661789f05134a4b64168
Reviewed-by: David Schulz <david.schulz@qt.io>
2016-11-02 09:11:34 +00:00
David Schulz
89fea59099 Debugger: Adjust cdbbridge to latest type changes
Change-Id: Ifa5edb490f12c302940d4f2101f9c297558a7cce
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-11-01 14:04:11 +00:00
David Schulz
0a98e47e47 Debugger: Add a fake void native type to the cdbbridge
Looking up 'void' is known to cause hick ups.

Change-Id: I4c4b3bae5b5ac572404156edbd457003fbbf53f3
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-11-01 14:04:02 +00:00
David Schulz
79c247eb09 Debugger: Remove unused code from the cdbbridge
Change-Id: I7199b04442d7edada2ad82707b46465d66c255a5
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-11-01 09:10:09 +00:00
Eike Ziller
30f71eddf8 Merge remote-tracking branch 'origin/4.2'
Conflicts:
	qbs/modules/qtc/qtc.qbs
	qtcreator.pri

Change-Id: I245212bd45104636b1c9737b36d3db3e4af23092
2016-11-01 09:30:49 +01:00
hjk
f582c6a5a6 Debugger: Add a dumper for std::pair
Change-Id: I22b644dab9ed27d650b1e99e08f0335f7d265dfd
Reviewed-by: hjk <hjk@qt.io>
2016-11-01 08:14:23 +00:00
hjk
bd2653fbaa Debugger: Introduce and use type ids instead of type in dumpers
Change-Id: I569d13d4f5d66cf1606b2b5d047b415659de539b
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-10-28 08:11:38 +00:00
Eike Ziller
cf47f3e807 Merge remote-tracking branch 'origin/4.2'
Change-Id: Ia346d86ad5fabe9d91454ea642cbeac5ec862699
2016-10-27 12:10:26 +02:00
David Schulz
a826f5c6f6 Debugger: Fix some python std dumper for cdb
std::deque
std::list
std::shared_ptr
std::valarray

Change-Id: Ibc9f54b22d47a2a26c08c633d599a48d48694700
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-10-25 08:52:42 +00:00
David Schulz
2f6e20f37f Debugger: Add QStringData dumper for cdb
QStringData is a typedef for QTypedArrayData<unsigned short>.
Cdb doesn't return typedefed type names, but the original type.
So we just need to call the QStringData dumper from the QTypedArrayData
dumper.

Change-Id: Id4e17ea8af3888e17c0d40bd9dcc5678490e845f
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-10-25 08:52:33 +00:00
Eike Ziller
a2871e5513 Merge remote-tracking branch 'origin/4.2'
Change-Id: I3a54f679238e6eb4f053608286fc39eae3041561
2016-10-17 16:22:08 +02:00
Christian Stenger
e0a6b45f22 Dumper: Fix padding handling (32bit)
This also reverts 3d68a8d0de.

Change-Id: I3e527096b4d36a102f010e538e428654cc3b783c
Reviewed-by: hjk <hjk@qt.io>
2016-10-13 13:26:31 +00:00
Christian Stenger
3d68a8d0de Dumper: Fix dumping of QImage on 32bit
Change-Id: I3cc10a858f392ea34418698411d250809ba374e4
Reviewed-by: hjk <hjk@qt.io>
2016-10-13 10:14:18 +00:00
hjk
cdb218a3e1 Debugger: Show raw object data for pixmap
"Separate display" can be triggered for QRasterPlatformPixmap on
the embeddded QImage.

Task-number: QTCREATORBUG-17107
Change-Id: Ib54a6f76f634b0dcf601836dc10609f212581d14
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-10-13 10:08:33 +00:00
David Schulz
9ad46e7d04 Debugger: Fix QDir dumper for Cdb
Calling functions is currently not supported in the
cdb python dumper.

Change-Id: I07da5ba93ea3ad838e758ca79062ae9aa4e8fabc
Reviewed-by: hjk <hjk@qt.io>
2016-10-13 07:51:26 +00:00
David Schulz
b01119543f Debugger: Overwrite unsupported call functions in cdbbridge
Change-Id: I64f933d649432fb680fc7e2e0cdfa251e798a58c
Reviewed-by: hjk <hjk@qt.io>
2016-10-13 07:51:22 +00:00
David Schulz
792a9015ec Debugger: Fix std vector dumper for msvc
And potentially QNX

Change-Id: I53bd34df5b3b4dfbaa50cd84c5dd9d3c975181d8
Reviewed-by: hjk <hjk@qt.io>
2016-10-13 07:51:13 +00:00
hjk
a33ed283b5 Debugger: Add a dumper for TNimNode
Change-Id: I62f1a0b07bac22bcc34a47b9848d3c92f25d31f0
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-10-12 10:47:46 +00:00
David Schulz
646b3bd553 Dumper: Fix std map dumper for msvc
And potentially for QNX.

Change-Id: I77f1c9803ff5441394a3d446720a928b12777e6a
Reviewed-by: hjk <hjk@qt.io>
2016-10-12 10:13:43 +00:00
hjk
449a11775a Debugger: Strip references from type displays again
Change-Id: I4b4f48194fad8cd331e9f281b14044e5262b49be
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-10-12 07:50:01 +00:00
hjk
c938b8d4db Debugger: Always initialize currentNamespace guess
This shouldn't be necessary but the task indicates otherwise.

Task-number: QTCREATORBUG-16965
Change-Id: I6df28c96e0acb3cd3eea56a5a931b36fbd85dcea
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-10-12 07:35:06 +00:00
hjk
cb7fb51313 Debugger: Fix QML extra stack loading for GDB
Change-Id: I702bb8f183e93fe25857115225fa55607ffb1674
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-10-12 07:04:56 +00:00
hjk
60e4cec473 Debugger: Make createType more flexible for namespaced Qt
Use '@' in type names as replacement for the namespace,
similarly to what the auto tests do.

Change-Id: Idc074f8d47a31cb942a35f3d4fe364d806f9610e
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-10-10 13:53:55 +00:00