Commit Graph

905 Commits

Author SHA1 Message Date
hjk
fb213b5826 Debugger: Use a named tuple for Dumper.Field
Makes it clear that this is meant to be immutable and is supposedly
faster.

Task-number: QTCREATORBUG-17823
Change-Id: Ie5d67b793e0bc4f704981d5161efc12bcc22100a
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-03-09 08:20:46 +00:00
David Schulz
4f91cb3d0c Debugger: Do not lookup types when accessing the type name
Return the typeId instead of triggering a type lookup when accessing the
type name and no TypeData is available.

Change-Id: I4d46d5356d38184d73427e5a65c3986d30520cf9
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2017-03-08 09:52:30 +00:00
David Schulz
530f7972eb Debugger: Optimize QObject::staticMetaObject lookup
Change-Id: I8c06472ce4e33b7c4203934d93b9cc8c8ae95ce2
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-03-07 09:46:23 +00:00
David Schulz
51d14393c4 Debugger: Fix double and (unsigned) long long alignment
Change-Id: Ia1ee70a047b3e659730e5a19b874f1f2e567d8ed
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-03-03 12:57:28 +00:00
David Schulz
2cd8378148 Debugger: Adjust offset in QGraphicsPolygonItem dumper
...for windows targets.

Change-Id: Ib3068f470c16141fa1bbd0455aa3805aa084fe65
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-03-03 07:57:06 +00:00
David Schulz
37dea3d7a6 Debugger: Fallback to read raw memory
...if native debugger value for an integral typed value can not be
interpreted as an integer.

Change-Id: Ic9753dd56f5d1854dc0765d5de2a0258a38615d8
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-03-03 07:56:47 +00:00
David Schulz
aafb17ae83 Debugger: Add enum value dumper to cdbbridge
Change-Id: I40f1556599be7581eeab0c75b034696ac22a7131
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-03-01 10:07:49 +00:00
David Schulz
edacb7d383 Debugger: Use symbol tag to determine type code
Change-Id: I49a2a0f3e1ff65accb0d2e04fbd9352ce3f63f2c
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-03-01 10:07:43 +00:00
David Schulz
327341b917 Debugger: Check type cache before creating array/pointer type
Change-Id: I334c8d9a7ae365f28a8b070b0ccef943b5db3c59
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-03-01 10:07:36 +00:00
Eike Ziller
1704c484a8 Merge remote-tracking branch 'origin/4.2'
Change-Id: I9006dd493707ae626ae3502541599c8789e1aab0
2017-02-27 15:17:37 +01:00
Orgad Shaneh
919ba9a925 Dumper: QJsonValue of String has no children
Change-Id: Ic6731ca6e7fe45792688623bffbbe0d9005bd1a8
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-02-24 07:41:19 +00:00
David Schulz
9c2e45aa3c Debugger: Use listTemplateParameters from DumperBase
This will utilize the lazy lookup of template parameter types.

Change-Id: Id91ccaba7911e8769f42ec0c65a60f93558be1a2
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-02-23 08:40:26 +00:00
David Schulz
bb05b5ff11 Debugger: Pass Qt type info version to the debugger protocol
Fixes Qt 5.8 QDateTime python dumper.

Change-Id: If6fab7bf3ea63372ef01942bcaa2121eb9c2b6db
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2017-02-23 05:55:46 +00:00
Eike Ziller
e724934393 Merge remote-tracking branch 'origin/4.2'
Conflicts:
	doc/src/qtquick/creator-tutorial-create-qq-project.qdocinc
	doc/src/qtquick/qtquick-creating.qdoc
	doc/src/qtquick/qtquick-uiforms-tutorial.qdoc
	share/qtcreator/welcomescreen/qtcreator_tutorials.xml
	src/plugins/git/gitgrep.cpp
	src/shared/qbs

Change-Id: I6f4d168d888d9547c3af0819f79cc9ebb4186ca0
2017-02-14 15:32:04 +01:00
Orgad Shaneh
0c9f23db96 GDB: Fix printing of flag enums
It worked with plain GDB (parse_and_eval), and was broken by
696b2d4261.

Change-Id: Ibc143efdbd90681a2f9f4d84b75063eb98078f2b
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-02-13 08:08:41 +00:00
Orgad Shaneh
696b2d4261 Debugger: Fix extremely slow enum name resolving
Task-number: QTCREATORBUG-17598
Change-Id: Ib32586c0513ce058301c1187e263c17b0a716f94
Reviewed-by: hjk <hjk@qt.io>
2017-02-08 16:55:17 +00:00
Orgad Shaneh
2b50fec73b Debugger: Fix int casting for bitfields
Change-Id: Iea3647594ffa3b2024ae469d844fa73028a0ab62
Reviewed-by: hjk <hjk@qt.io>
2017-02-08 16:54:45 +00:00
hjk
af54ab960a Debugger: Add a dumper for QSqlField
Task-number: QTCREATORBUG-3905
Change-Id: I9290a9e46d7fa77417d58a3f81d4e4d680c751b6
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-02-08 15:22:10 +00:00
David Schulz
a9f446704f Debugger: Adjust python dumper for 32bit MSVC binaries
Change-Id: Ia20321da89b387d016eb7fed076002a709aae748
Reviewed-by: hjk <hjk@qt.io>
2017-02-07 09:18:23 +00:00
David Schulz
bb76740691 Debugger: Use GetOffsetByName for staticMetaObject lookup
Halves the lookup time compared to parse and evaluate.

Change-Id: I8beda23f444c73816a93e38154d2ca502b701fe8
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-02-02 13:06:52 +00:00
David Schulz
1b5d8a84f8 Debugger: Let the python bridge handle reference types
Create pointer and array types in the python code. Uses
the type cache which leads to less type lookup calls.

Change-Id: I970bbb04da2e8051ed66b4b12dfb62076d7f214d
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-02-02 13:06:44 +00:00
David Schulz
fcdcc4c7f8 Debugger: Add Core::Id python dumper for cdb
Change-Id: Id89f730e90586659ce76e685c014655178957222
Reviewed-by: hjk <hjk@qt.io>
2017-02-01 12:22:08 +00:00
hjk
19e6ee7862 Debugger: Adapt QHostAddress dumper after Qt Core change a6cdfacf
Change-Id: I750d37f7ab23a638c2e0c5f0fd808ba22a0b49d0
Reviewed-by: David Schulz <david.schulz@qt.io>
2017-02-01 12:12:38 +00:00
David Schulz
228e53aab1 Debugger: Add dumper for unordered_multi(set/map)
Change-Id: Ie1badb0cab0331c35e3094ab121a1a1170cc2bcf
Reviewed-by: hjk <hjk@qt.io>
2017-02-01 10:19:03 +00:00
David Schulz
a9a1f80f3a Debugger: Skip QLocale dumper for cdb
This dumper relies heavily on calling functions which isn't
supported by the cdb interface.

Change-Id: Iff839a619736755024dd3f406414d352ee543012
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-02-01 07:06:36 +00:00
hjk
92263a0535 Debugger: Do not try to access type information without loaded binary
Amends b5b233d69e.

Change-Id: I24857b1ddfd3e5e1d234aac4e9871df4faf1c8fc
Reviewed-by: David Schulz <david.schulz@qt.io>
2017-01-31 14:09:36 +00:00
David Schulz
b5b233d69e Debugger: Hardcode QChar type
QChar lookup doesn't always return the expected type. Get ahead of
this by hardcoding the type data on initialization.

Change-Id: Ie25c27521afeddc3da917242ce64df3901bcc80b
Reviewed-by: hjk <hjk@qt.io>
2017-01-31 10:00:13 +00:00
David Schulz
663631f35c Debugger: Replace common qint typedefs before type lookup
Change-Id: Ieba28bab3c603d06caf9abb287189bf87f6dabb0
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-01-30 08:30:41 +00:00
David Schulz
4eb3b3348a Debugger: Unify std::once dumper output
Change-Id: I4bbb14036ce89d8e06b184f33fd2ecfd098f2443
Reviewed-by: hjk <hjk@qt.io>
2017-01-27 12:42:56 +00:00
David Schulz
fba8bc25d0 Debugger: Use direct memory access for boost::list items
Change-Id: I1f62581ee752cd4df2e5d1f3e124bf75cbd6a4b6
Reviewed-by: hjk <hjk@qt.io>
2017-01-27 12:32:22 +00:00
David Schulz
52705ad214 Debugger: Default to newer version of boost::unordered::set dumper
Change-Id: I92c14db0b10da8598c80f85525dc641c86689a90
Reviewed-by: hjk <hjk@qt.io>
2017-01-27 12:32:12 +00:00
David Schulz
367bba1897 Debugger: Fix std tree iterator for pairs
Change-Id: Iad39c0c16f642e9126a79d5bdc727620aaaaed2a
Reviewed-by: hjk <hjk@qt.io>
2017-01-27 12:32:03 +00:00
David Schulz
cd70da5dcd Debugger: Put number of children for QHostAddress
Change-Id: I81bbfb89bccdf56e9a190d95f8fb1557869d7c50
Reviewed-by: hjk <hjk@qt.io>
2017-01-26 14:04:53 +00:00
David Schulz
313cc9bc85 Debugger: Detect QObject based on customEvent for cdb
Change-Id: Idce6d8e8bc4d913226709a30e3dffd901e9cc2b4
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-01-26 11:23:32 +00:00
David Schulz
10df40ca5e Debugger: Extract virtual function table dumper
Change-Id: I729186d36200967d6ca229e639ceb864f69240f7
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-01-26 11:22:34 +00:00
David Schulz
58e7554f3d Debugger: Cache qtNamespace also if qstrdup wasn't resolved
Otherwise it will be looked up for every value in a none Qt build.

Change-Id: Id5d82333b6fb93242d06c5d7e9fdf8ffa2ce6b38
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-01-19 10:03:34 +00:00
David Schulz
046e6309d3 Debugger: Add support for none standard Qt builds
... to the python based cdb dumper.
Now supporting static, namespace and qt builds with a libinfix.

Change-Id: Ib6bcd00dba876adc7a56c23ec4f4280cd3208143
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-01-17 11:59:36 +00:00
David Schulz
cb2021d630 Debugger: Call qVersion() for pre qtHookData Qt versions
Change-Id: Id37f4c31b776ea5af960011e7485b11c1a51c8d3
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-01-17 11:59:27 +00:00
Alexandru Croitor
079a5c3cc3 Debugger: Fix type lookup for lldb
In certain cases FindFirstType can fail to find a type due to bugs
in lldb. The workaround consists in using FindTypes, and iterating
over the results to find the searched for type.

Change-Id: I1fee3f774d0cf02842f6b55419142af5e9780992
Reviewed-by: hjk <hjk@qt.io>
2017-01-12 12:48:54 +00:00
Alexandru Croitor
2085dd9e96 Debugger: Fix QFlags dumper to work with lldb
Lldb fails to find types if they are prefixed with enum.
Therefore don't prepend enum when looking up the type
for QFlags.

Change-Id: If2109f68677c1b9ec48a05d61cad2d6590f375dc
Reviewed-by: hjk <hjk@qt.io>
2017-01-12 12:43:33 +00:00
David Schulz
9ef6cb1a34 Debugger: Generate cdb comprehensible qtDeclarativeHookData symbol name
Change-Id: Ibbdd6204b3a8806057fc16de18462c96840e340c
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-01-12 09:07:11 +00:00
David Schulz
ff9366dc51 Debugger: Disable logging debug message by default
Change-Id: Ifb3fd8a6ac17b09ab760da46f555f3345206285a
Reviewed-by: hjk <hjk@qt.io>
2017-01-12 09:07:04 +00:00
David Schulz
0279e1c3a6 Debugger: Add guard to fromNativeValue
Change-Id: I733ad57e562034d7056aa13402cd000a7a1ae8b9
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-01-12 09:06:56 +00:00
David Schulz
ccd84c62be Debugger: Add basic benchmarking infrastructure
Change-Id: Ib685be2ec7c39527748c2feb2ec7cc1dcd01ac37
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-01-05 11:41:26 +00:00
David Schulz
2e90a02a52 Debugger: simplify locals loop
The value name is already set in fromNativeValue

Change-Id: I82cdaa33133cde431d23a0f20bd5c3d6d938cf7f
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-01-05 11:41:23 +00:00
David Schulz
c9003ef265 Debugger: Cache pointer size in cdbbridge
Change-Id: Idf404a10f2a9cc3eff033123829ac5b564d7e172
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-01-04 11:58:55 +00:00
David Schulz
274ed92372 Debugger: Use qtHookData to get qtversion in cdbbridge
Change-Id: I243b6f69e52286c1c64f0c02350d3e4d4cfd6c69
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-01-04 09:06:22 +00:00
David Schulz
4571e0caec Debugger: Generate qtHookData symbol name based on module
Change-Id: I322cac9376b1789d87d3c704b4f1f89a0a892dbc
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-01-04 09:06:16 +00:00
David Schulz
09441deb0e Debugger: Do not evaluate functions for msvc targets
Change-Id: I8c346d2353921ec128f9857ce3fda3d8410c73c5
Reviewed-by: hjk <hjk@qt.io>
2016-12-22 06:10:25 +00:00
Eike Ziller
589fedf455 Merge remote-tracking branch 'origin/4.2'
Conflicts:
	qbs/modules/qtc/qtc.qbs
	qtcreator.pri
	src/plugins/projectexplorer/kitinformation.cpp

Change-Id: I94299b069418586db97d1d596a252794e4037556
2016-12-20 17:14:19 +01:00