Commit Graph

933 Commits

Author SHA1 Message Date
Christian Stenger
71a449a1e8 Dumper: Fix typo
Change-Id: I3f9e9b2b38d4a8af68a6d79bf3c63572ca160db8
Reviewed-by: hjk <hjk@qt.io>
2016-10-07 14:42:53 +00:00
hjk
27e03e6fb6 Debugger: Do not run engines twice
There seems to be race in the LLDB setup on Linux. Work around
by not doing serious work twice to be able to use the test at least.

Change-Id: I387a57d3c66e6c4209bd424af9be16f17acb98fa
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-10-07 13:06:27 +00:00
hjk
6b2665a180 Debugger: Consolidate dumper state setting
Move all the currentFoo initialization to DumperBase

Change-Id: I0a59715fe1550f466e78cbf678622dd8dfe1783c
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2016-10-07 13:04:30 +00:00
hjk
311adfeff7 Debugger: Remove output lock from cdb bridge
There's no threading involved on the cdb/python side.

Change-Id: Ibc1ad6fb5242a86450ca15f65cb57e4cae99d6ed
Reviewed-by: David Schulz <david.schulz@qt.io>
2016-10-07 10:21:56 +00:00
hjk
479b2c7c1a Debugger: Clean up misctypes.py dumper a bit
Change-Id: I028e2460f5b0e2621872993cfa111f5b20b16e7e
Reviewed-by: hjk <hjk@qt.io>
2016-10-07 09:59:22 +00:00
hjk
54ad874579 Debugger: Restrict Nim sequence dumper to structs
Change-Id: Ibf1dc490a2b93e5d9ca8949e05471043bfed9afc
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-10-07 07:28:55 +00:00
David Schulz
a83d539551 Cdb: Introduce interface for python dumpers
Change-Id: I0ef2fd8a44232d65b0d772fd6c65230266d586a8
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-10-07 06:40:20 +00:00
hjk
e234bbd88b Debugger: Add dumper for Nim's string and sequence types
... and make the auto test infrastructure able to handle
a test. To pass the test, some Nim compiler must be
accessible.

Change-Id: I707aa72c0f3a2ea35c7131cba490cafb41617f6c
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-10-06 13:39:02 +00:00
hjk
21ba1f7b7a Debugger: Allow explicit padding in patterns
Change-Id: I6f2302649cdbcbb9052a6898841c21301dace9e6
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-10-06 13:11:20 +00:00
hjk
d4ef385d59 Debugger: Improve QJSValue dumper on 32 bit
Change-Id: I18937a92d5202a58d9f3d786c6cc37f8176b2692
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-10-06 09:18:10 +00:00
hjk
f036877a0d Debugger: Add internal dumper for Creator's project tree
Change-Id: Iefd439bd56f1273f0610d86ae56e43e655a0c9c3
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-10-05 11:59:52 +00:00
hjk
6913f90384 Debugger: Ditch Dumper.stripClassTag
It doesn't seem to be needed anymore, and if it were, it'd be the
task of the back-end specific fromNativeType() functions to sanitize
type names.

Change-Id: I7c6af40aeacb2dbaaf73143e9fdcc1d866bf3f3d
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-10-04 12:53:52 +00:00
hjk
a215bdace4 Debugger: Fix QObject property dumper for Qt 5.6.0/32 bit
Change-Id: Ie9d4fb069616464cff44909ed30d242741ef3180
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-10-04 12:53:43 +00:00
hjk
3d357e107b Debugger: Fix QHostAddress dumper for Qt 5.6.0/32bit
Change-Id: I527d2e4fa7c3be9fd0a38694319b47e3ebe07497
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-10-04 12:53:32 +00:00
hjk
7550d8977e Debugger: Add dumper for std::__1::{multi,}set
Change-Id: I3f951256db6aec4010b3829a901f83a53ce18978
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-10-04 07:50:40 +00:00
hjk
83b14ec359 Debugger: Fix std::map dumper for XCode 8
Change-Id: I7536d65355d69f4b8c31bc5adeb582d9b4eb1b33
Reviewed-by: hjk <hjk@qt.io>
2016-09-30 16:01:41 +00:00
hjk
da00b0202e Debugger: Use types instead of type names in dumper array handling
Change-Id: I5c4b6e0e0de077fbead467dd1b042c379c9a0dd3
Reviewed-by: hjk <hjk@qt.io>
2016-09-30 15:06:37 +00:00
hjk
9136380753 Debugger: Adjust QObject dynamic property dumper
The change from QList to QVector (d82e1d145) is in 5.6

Change-Id: I7da6442247f97bb27d4359ae2f1f759c65c2c9f2
Reviewed-by: hjk <hjk@qt.io>
2016-09-30 13:56:42 +00:00
hjk
8288d1692d Debugger: Fix std::list dumper for GCC 4.7's std lib
Change-Id: I5e43a3620223030ae526a38a0b2ea3f0c131008a
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-09-30 13:22:01 +00:00
Orgad Shaneh
643047c296 Debugger: Support int operator for Value
Enables compatibility with <4.2 dumpers.

Change-Id: Id904a8895f130ead9cd3c46452639f100451b164
Reviewed-by: hjk <hjk@qt.io>
2016-09-29 16:24:39 +00:00
hjk
418d56b917 Debugger: Robustify nativeDynamicTypeName in gdbbridge
Determining dynamic type is a best-effort business that
tends to fail in setups without debug information.

Change-Id: Id24fc70ac15cf2957ed1c91d5782b8a7c0677bf2
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-09-29 05:53:26 +00:00
hjk
856c347300 Debugger: Use now-standard mechanism for std::unordered_map dumper
Change-Id: Iceea7d369e53220622edb6272e72750b6512148f
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-09-28 12:49:25 +00:00
hjk
e507af0855 Debugger: Simplify QNX map dumper
Don't use outdated compact display functionality anymore.

This should use 'putPairItem' now, but since there is no way to
check, using non-compact display only is the lesser evil.

Change-Id: I1b1f8029637f79688b9211b977a1e5d1ac90a60f
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-09-28 12:35:12 +00:00
hjk
412d7b2255 Debugger: Consolidate special type lookups in *bridge.py
Change-Id: If5f255a32f1cfde925345f4a33e6fa4de01d10d2
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-09-28 11:37:30 +00:00
hjk
cce9159c3a Debugger: Remove now unused gdbbridge.py readCString()
Change-Id: Icbde42b9a8251550fc30eb0d24a6c812edd85431
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-09-28 11:37:22 +00:00
hjk
c5ee2737b1 Debugger: Unify *Dumper.childRange()
Change-Id: I58cc225efeeabe6b97cb0228b89fb4ac127ce6c9
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-09-28 10:40:37 +00:00
hjk
27f473ab00 Debugger: Unify the dumper reload code
Instead, push backend differences into a more generic reportResult()
function.

Change-Id: I6bc34580e915b830e592680022b3499ae5eb1e57
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-09-28 10:40:27 +00:00
hjk
b0d6e0b374 Debugger: More V4 related dumper
Change-Id: Ifd2c5748996ce71bf4b8844ff270c41ba4a9c41f
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-09-28 10:08:43 +00:00
hjk
615ace36d5 Debugger: Remove now unused isFunctionType in lldbbridge.py
Change-Id: I687e5f94b7ac4134f070661c428f6d6c6c509c6a
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-09-28 09:23:22 +00:00
hjk
cbcc556614 Debugger: Make the 'use last value for short display' trick permanent
Change-Id: I4c8b50751ed4ad605bbd02287147a904d8aec58b
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-09-28 08:48:43 +00:00
hjk
a2c83874d3 Debugger: Some dumper improvements for QV4 types
Start displaying QV4::Value again for numeric values
and QJSValue for ints, doubles and strings.

Change-Id: I18ce226c21168087ce280cb05aa0e250bd3187d9
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2016-09-27 15:20:25 +00:00
hjk
5efa84830b Debugger: Remove use of native values in dumper.py
Lowers the barrier for other debugger backends.

Change-Id: I09e0ad09548b6b4220175245cc0d845ac5aa29d0
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2016-09-26 14:07:00 +00:00
hjk
bf5f96e423 Debugger: Fix passing working directory with LLDB
It's not the one of the lldb process anymore, so set it explicitly.

Change-Id: Ibcc2b63631c4096f860996ad6ccfc12415d8aefd
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2016-09-26 11:57:36 +00:00
hjk
c7305abf26 Debugger: Simplify qtHookData access in dumper
Change-Id: I14b7ecb5fbe1e6b2a2c587aa7dcb5ef18e3cb9f3
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-09-26 09:14:06 +00:00
hjk
cc8414ff1f Debugger: Add a few dumpers for OpenCV related structures
Mainly as test ground to show of matrix display later.

Change-Id: I49e6d06bf7203532e384cc3215483512089bfcf5
Reviewed-by: hjk <hjk@qt.io>
2016-09-23 10:20:42 +00:00
hjk
e08b1a070b Debugger: Add a dumper of QStaticStringData
Change-Id: I5e4ebc31eaf7cce76b8cfd1a5c9635441eccc797
Reviewed-by: hjk <hjk@qt.io>
2016-09-22 13:39:12 +00:00
hjk
e4a5f5fa34 Debugger: Make map item display more compact
This adds more information to the top-level item
in map and hash entries.

Change-Id: Id43689fd0b968142ff2e9d06c58687a92b5b17c7
Reviewed-by: David Schulz <david.schulz@qt.io>
2016-09-22 10:34:05 +00:00
Orgad Shaneh
c01d7a7540 Merge remote-tracking branch 'origin/4.1'
Change-Id: Ieaddc6093d10c08a54acb9b57cbbfe022bc3c038
2016-09-22 11:01:16 +03:00
hjk
4d47a68425 Debugger: Fix native type field lookups for typedefed structures
Change-Id: Ibd120ce43771c35b23b51bfc598ee5f32ee7af75
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-09-21 13:05:56 +00:00
hjk
67cf72e377 Debugger: Consolidate some almost common code
The remaining differences were not relevant anymore.

Change-Id: I4db80e8dde4c394267527828a2265aee619acec2
Reviewed-by: hjk <hjk@qt.io>
2016-09-21 10:21:50 +00:00
hjk
6ac8a445e5 Debugger: Remove some now-unused code
Change-Id: I389b827030ab241ecc0b1875d9743faac517bd49
Reviewed-by: hjk <hjk@qt.io>
2016-09-21 10:15:15 +00:00
hjk
b4251d6d24 Debugger: Consolidate code to enumerate shadowed variables
... in {ll,g}dbbridge.py and fix expansion of shadowed items.

Change-Id: Ide0c426416f2df85470fe851f265cf4835395680
Reviewed-by: hjk <hjk@qt.io>
2016-09-21 10:13:12 +00:00
hjk
01e2226a70 Debugger: Fix Core::Id dumper
Change-Id: I90db638bfd84bef0d14d804862771e2c10dbbf6c
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2016-09-20 15:34:25 +00:00
hjk
e2c45012d6 Debugger: Streamline type code handling
GDB and LLDB share some ideas but are not identical. Map them
both to what we need in the end. This also reduces the size
of the Type class interface as a step towards more type info
caching.

Change-Id: I43e60c4e5736ac15a5c776832ffb8e6939f45e45
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-09-20 09:22:34 +00:00
hjk
f1a85e1441 Debugger: Reduce reliance on implicit conversions
Easier maintenance if code is typesafe. Whatever that means in Python.

Change-Id: I450e5d42bcfdb30d607dd878353d037ba18fe6d9
Reviewed-by: hjk <hjk@qt.io>
2016-09-19 07:34:47 +00:00
hjk
080d2dad65 Debugger: Show enum symbolic names also with GDB 7.4
gdb.Type.name is not available there, but str() works.

Change-Id: I61c3018e728e634509d4028f624dc1213c62a290
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-09-16 12:44:23 +00:00
hjk
397b4144d4 Debugger: Fix some uses of callItem()
The (unused) return type was missing.

Change-Id: Iffaa4bf9e27853c481ef77d3827f338d69affa8e
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-09-16 12:41:19 +00:00
hjk
1a9919a208 Debugger: Reduce number of function calls in QLocale display
Change-Id: Ib186dafbee148b9c4aaf69124a3642404e16c002
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-09-16 11:22:17 +00:00
hjk
0761f32938 Debugger: Remove indexing by array index in dumpers
Parents know what to do nowadays.

Change-Id: I28c6e8577ef478f9c94b0793704536b5c6c6e036
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-09-16 06:52:03 +00:00
Christian Stenger
c022399322 Debugger: Fix support for lldb from Xcode 5
Change-Id: Icb0e0349a0d6d88bb871b538bac858b2b252ef2f
Reviewed-by: hjk <hjk@qt.io>
2016-09-15 08:37:28 +00:00