Commit Graph

1330 Commits

Author SHA1 Message Date
David Schulz
6ae71652a5 Dumper: robustify msvc std vector/string dumpers
By looking for debug members instead of relying on a failing size check.

Task-number: QTCREATORBUG-24901
Change-Id: Ia79ba893243e864c7808e89ee7e29ba4b853f754
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-01-14 08:49:03 +00:00
Tim Jenssen
b801a9339d Merge remote-tracking branch 'origin/4.14'
Change-Id: I70504e096be620434f38cd990c593950da8b24ba
2021-01-07 14:23:46 +00:00
hjk
9f7af33404 Debugger: Clarify the the state of dumper use outside Creator
Task-number: QTCREATORBUG-25199
Change-Id: Ib993180a21b385c340f990298d0e9c521e18b767
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-01-06 08:02:09 +00:00
Eike Ziller
45c2634166 Merge remote-tracking branch 'origin/4.14'
Change-Id: I62523c4733e617c46131048f5f62a2ca9be47d80
2021-01-06 08:42:15 +01:00
hjk
052b0b4c92 Debugger: Re-organize std::vector and std::deque dumpers
There are indications that the std::__1:: namespace cannot be relied
upon anymore.

Task-number: QTCREATORBUG-25061
Change-Id: I54d8d2fc757b1cfc9b27f00660f2814d745f2bc6
Reviewed-by: David Schulz <david.schulz@qt.io>
2021-01-04 10:06:55 +00:00
Eike Ziller
d95e1f940a Merge remote-tracking branch 'origin/4.14'
Conflicts:
	cmake/QtCreatorIDEBranding.cmake
	qbs/modules/qtc/qtc.qbs
	qtcreator_ide_branding.pri

Change-Id: I5b8d93f2f08b62626c3f3447728c64d198b601ff
2021-01-04 09:09:21 +01:00
hjk
e09867d7de Debugger: Do not limit inferior output chunks to 1024 chars with LLDB
Task-number: QTCREATORBUG-24667
Change-Id: Ie59db04b0c1e46c4c06a1761eee3859ae18bcf7f
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
Reviewed-by: David M. Cotter <dave@kjams.com>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-01-04 06:49:48 +00:00
Eike Ziller
4bc2b4741d Merge remote-tracking branch 'origin/4.14'
Change-Id: I842a7c7358fd0ff6d85c151806e440043914e09a
2020-12-14 14:19:15 +01:00
David Schulz
1981d90f39 Dumper: fix QMetaObject detection for Qt6 on windows
introduced by 9b8493314dd77f3e96b353187816bb7ef4dedbb5 from qtbase

This change does not address all usages of super data in the dumper, but
enables dumping children.

Task-number: QTCREATORBUG-24098
Change-Id: I813dacfa719dd6ca367e305fadcc8f2b8ee45425
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-12-11 14:01:20 +00:00
hjk
b288cb6706 Debugger: Fix template type alias handling for LLDB
Case like 'template<typename T> using TVector = std::vector<T>'
end up only as 'TVector' in the debug info. This is unsuitable
as an id in our type info caching as this would only allow one
type layout for all specializations, which is not the case for
e.g. std::vector<bool>.

The solution is to mangle the target type into the id, as already
done for GDB.

This makes the Typedef2 dumper test pass.

Change-Id: I11538bbf6431f61a11c18366a2a2b4911cdc2e0e
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-12-11 12:20:23 +00:00
hjk
d4ed07eb87 Debugger: Change/improve LLDB display of enums in some cases
This fixes the Internal2, EnumFlags and EnumInClass tests on Linux.

The values lose now the previously hand-crafted Class:: prefixes,
but the context is clear from the type column, and it's what LLDB
developers (and potentially users) consider normal.

Change-Id: I09e41f7b4fb4f078ef3f535fe650d06e7c2a0331
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2020-12-11 11:37:11 +00:00
hjk
b3ad621e0a Debugger: Fix Bitfield dumper for LLDB with Python 3
Strangely enough, this issue did not trigger with GDB for either
Python 3 or 2.

Change-Id: I0e5cf7ce0a8605f105bff549634aa014ef1f8403
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-12-11 09:45:42 +00:00
hjk
14035584d8 Debugger: Fix CharArray dumper and test for LLDB
Change-Id: If12936fa863633b1ca85e712f8395e8ab4a0d69c
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-12-11 09:35:37 +00:00
Eike Ziller
1283b15117 Merge remote-tracking branch 'origin/4.14'
Conflicts:
	doc/qtdesignstudio/examples/loginui1/qtquickcontrols2.conf
	doc/qtdesignstudio/examples/loginui2/qtquickcontrols2.conf
	doc/qtdesignstudio/examples/loginui3/qtquickcontrols2.conf
	doc/qtdesignstudio/examples/loginui4/qtquickcontrols2.conf
	share/qtcreator/debugger/dumper.py
	share/qtcreator/debugger/qttypes.py

Change-Id: Id44a67cdeeb0889ff96eddcdf409d20ca7cbdd0b
2020-12-10 13:02:02 +01:00
hjk
8d6ca33a7a Debugger: Remove more dead code in dumpers
Change-Id: If0a48377470b75a2d9c5d7f3cb47a492b9214791
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-12-10 10:55:20 +00:00
hjk
e7e0fa5745 Debugger: Remove create{Container,List,Vector}Item
Not used anymore.

Change-Id: I1d534a094717cfc44aea73e6b4ca948c088480ae
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-12-10 10:55:11 +00:00
hjk
9c8c5b6363 Debugger: Strip inner typenames in pointer type lookup fallbacks
To compensate for a potential 'Foo*' vs 'Foo *' difference in
debug info.

Change-Id: I90e822f89bc13bdf7ffed30ee12a984a659aa38f
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-12-10 10:22:47 +00:00
Christian Stenger
9c8768e752 Dumper: Remove some fallback code
..and unused or unknown variables.

Change-Id: I13d1d03fa09ef3952fe2cb3f4b257fb2882709f2
Reviewed-by: hjk <hjk@qt.io>
2020-12-10 10:21:34 +00:00
hjk
eac85f8261 Debugger: Fix QObject property display with Qt 6
Task-number: QTCREATORBUG-24098
Change-Id: I6e1013fe39208ef6e9ba792e6b2fb745eb5e3108
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-12-10 09:59:58 +00:00
hjk
c902974423 Debugger: Simplify QObject parent dumping
Change-Id: I24fd6bf684a213c2e47978485442dd6c47073a7a
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-12-10 09:54:08 +00:00
hjk
11d079a0fe Debugger: Partially fix QV4 dumper for Qt6
Just the 64 bit case, simple types.

Task-number: QTCREATORBUG-24098
Change-Id: If13e342c1fb419a026cdaa35b21483566e8494b7
Reviewed-by: David Schulz <david.schulz@qt.io>
2020-12-10 09:32:13 +00:00
hjk
276c0ae482 Debugger: Adapt QStandardItemDumper to Qt6
Task-number: QTCREATORBUG-24098
Change-Id: I1c21e6a1ee3db3532029638eedfcf58eead53424
Reviewed-by: David Schulz <david.schulz@qt.io>
2020-12-10 08:52:49 +00:00
David Schulz
34dfbe73b6 Debugger: Fix QVector and QList dumper with incomplete template types
This can hapen when QList and QVector is used in split.

Change-Id: Idb48901854e373139a38670a3d811bf01aef1915
Reviewed-by: hjk <hjk@qt.io>
2020-12-10 08:50:36 +00:00
hjk
ddb2ae657d Debugger: Improve QMeta* dumper for default-initialized objects
Null-dptr strikes again.

Task-number: QTCREATORBUG-24098
Change-Id: I4e24cbe4cad4995ce39116a1b51b26153004ccfc
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-12-09 13:42:08 +00:00
hjk
3b7aee724d Debugger: Fix QFile dumper 64 bit for Qt6
32 bit offsets are mechanically adapted on the base that the size change
was due to five containers changing from one to three pointer in Qt6,
but this has not been checked.

Task-number: QTCREATORBUG-24098
Change-Id: I492485a720f75df5fdde3dedb2fcfe9e953f1ed7
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-12-09 13:17:03 +00:00
hjk
ce2e8bd2fb Debugger: Adapt QJson dumper to Qt6
Task-number: QTCREATORBUG-24098
Change-Id: I0bdfca1389763582072fd774b6288b9a855cf8cf
Reviewed-by: David Schulz <david.schulz@qt.io>
2020-12-09 08:50:48 +00:00
hjk
17d7f24911 Debugger: Fix QGraphicsPolygonItem dumper for Qt6 64 bits
And effectively disable the 32bit version, too much effort for the gain.

Change-Id: Ia11da05f3d57feba915d6b2d2d9c901e5aec3433
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-12-08 17:19:49 +00:00
hjk
fff1fafec7 Debugger: Consolidate list data extraction in dumper
Change-Id: I5b860da4b1d15ffab8c60418321e40943dbbe07a
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-12-08 14:19:40 +00:00
hjk
73f2ea11dd Debugger: Make GDB dumper tests pass with Qt release builds
Change-Id: I45ae41486b8081bb803290895e942a71d41d5c0d
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-12-08 12:59:24 +00:00
hjk
8044e7c505 Debugger: Re-fix QCbor dumper with Qt6
Change-Id: Icb2372fc9465b752a6709bf1d422ee3b1d79b2d6
Reviewed-by: David Schulz <david.schulz@qt.io>
2020-12-08 12:46:58 +00:00
David Schulz
6187998090 Debugger: re-add old qobject children dumper for qtversion < 6
Change-Id: Icbafb7c22d18247f89a8aa6a5029c9914d251c2e
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2020-12-08 12:36:30 +00:00
hjk
786e4c6f8f Debugger: Re-enable shortcut to get known type sizes in dumpers
Looks like we need to continue with this crutch for MinGW.

This partiall reverts commit 1074c2ffce.

Change-Id: I89d32f31281c3ef720bbc2a21d5a99bfd0066ba3
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
(cherry picked from commit ffe3c56670)
2020-12-08 10:03:54 +00:00
hjk
ffe3c56670 Debugger: Re-enable shortcut to get known type sizes in dumpers
Looks like we need to continue with this crutch for MinGW.

This partiall reverts commit 1074c2ffce.

Change-Id: I89d32f31281c3ef720bbc2a21d5a99bfd0066ba3
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-12-08 09:38:09 +00:00
hjk
8e0cb785dc Debugger: Drop alloc return value from dumper vectorData() helper
Only used for checks, do that within the function.

Change-Id: I4cc302864a9d3f8edac6f6364dfdac33b548e60a
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-12-07 15:47:20 +00:00
hjk
493f44ac6a Debugger: Fix QObject children display for Qt6
Task-number: QTCREATORBUG-24098
Change-Id: If7b1e498bcbd191faecbcab9462f1d72331211f3
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-12-07 13:52:57 +00:00
hjk
aa9e1ec106 Debugger: Adapt QSet dumper and tests to Qt6
Task-number: QTCREATORBUG-24098
Change-Id: Ib9b2c53ee763871873f0cc3ad4f8ba0152999328
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-12-07 08:56:39 +00:00
hjk
5ca4427bb7 Debugger: Create list of arguments for manually created template types
This is one of the roadblocks for the current failing Qt 6 QVariant
dumper for self-registered types.

Change-Id: I304ce8e8aa3dfc5b3694b65198fbac4f42de6d4b
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-12-04 11:41:35 +00:00
hjk
54f281944d Debugger: Use @ as Qt namespace placeholder more widely
Change-Id: I73a7abaed17c1a8a1461a66e66860cba64d4f9d9
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-12-04 11:17:20 +00:00
hjk
e62d364d97 Debugger: Adapt QVariantMap dumper and test to Qt 6
Task-number: QTCREATORBUG-24098
Change-Id: I4e157a18ce5ff06a732fccbec1ec3d2ff507b961
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-12-03 15:22:24 +00:00
Christian Stenger
7fbc926c64 Dumper: Adapt Qt handling for Qt6
Task-number: QTCREATORBUG-24098
Change-Id: I62f2a4d91ed2f95ac167b836ea0e811599d0655f
Reviewed-by: David Schulz <david.schulz@qt.io>
2020-12-03 14:03:28 +00:00
hjk
f946e5b356 Debugger: Consolidate some string data extraction helper functions
Change-Id: Icfa395de5237e0f58e63b3ca0d88ff8c9a1998a9
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-12-03 10:55:06 +00:00
hjk
08a1117c26 Debugger: Extend and fix QPolygon dumper and test for Qt6
Task-number: QTCREATORBUG-24098
Change-Id: Ia2e43d15263e18698d9db6b4d23fa553c7b7ae5b
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-12-02 15:22:35 +00:00
hjk
8e0780e28c Debugger: Fix QHash dumper for empty containers
Task-number: QTCREATORBUG-24098
Change-Id: I2bf15504ffefdb458a5d93c9185f8b695f120189
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-12-02 15:16:55 +00:00
hjk
25a89250f6 Debugger: Adapt QVariant dumper and tests to Qt 6
Task-number: QTCREATORBUG-24098
Change-Id: I9543bad098bb11d21079c1e2711b639bde3873b7
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-12-02 10:16:33 +00:00
hjk
e1790ed9d0 Debugger: Fix some dumpers with namespaced Qt
This makes the use of '@' prefixes in split('{@QString}'...) etc
mandatory, thereby removing the guessing on whether namespaces apply
or not on the dumper 'core' side, and removes the guessing on
whether dropping the '@' 'works' on the individual dumper implementation
side.

Amends 1074c2ffce.

Change-Id: I44611eb09557638dec12d2e2f78cdaeac0bbd449
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-12-01 14:59:06 +00:00
hjk
dd2a880b8c Debugger: Simplify QByteArray dumper again
Change-Id: Id2622db1e855c7706260796b633f06d0e5da0503
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-12-01 13:57:06 +00:00
hjk
e556463dc7 Debugger: Fix value endianness of register data with LLDB
Fixes: QTCREATORBUG-25009
Change-Id: I4de44cee6ef322791e3f4058a369548bfb210e77
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-12-01 10:09:44 +00:00
hjk
398a74b027 Debugger: Adapt QObject name dumper to Qt 6
Task-number: QTCREATORBUG-24098
Change-Id: Iee8a71eda4c15b3cd36e569805fef769f6eb090f
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-11-30 14:30:13 +00:00
hjk
e65b9cde28 Debugger: Partially adapt QObject dumper to Qt 6
This makes meta method and property names visible again.

Task-number: QTCREATORBUG-24098
Change-Id: I2e0522396a5e91be43ae6b850217b9153b29a962
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-11-30 12:02:29 +00:00
hjk
2bb32ed7a3 Debugger: Use Values instead of addresses in vectorDataHelper
Also rename it to vectorData, in line with byteArrayData and stringData

Change-Id: I91a4ddba272fcada3e451680ba5a5a756f7a976e
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-11-27 13:58:30 +00:00