Commit Graph

4987 Commits

Author SHA1 Message Date
hjk
d98d9025b8 Debugger: Fix environment passing with LLDB
Change-Id: Ic51a5ee1b9ef69b60279f045175be6d59b53582b
Reviewed-by: Filipe Azevedo <filipe.azevedo@kdab.com>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2016-12-07 07:39:44 +00:00
Eike Ziller
8f0ddff1cc Merge remote-tracking branch 'origin/4.2'
Conflicts:
	qbs/modules/qtc/qtc.qbs
	qtcreator.pri
	src/shared/qbs

Change-Id: I5050baa31f4a892d00cd6f7e088d1b597921474d
2016-12-05 10:55:35 +01:00
Christian Stenger
983936f975 Dumper: Fix QObject detection when using procedure linkage tables
Change-Id: I3ac9889b822cb30d2ccdb6a7e2452e753cc3f2df
Reviewed-by: hjk <hjk@qt.io>
2016-12-02 14:44:08 +00:00
hjk
dc2724a3f7 Debugger: Allow QObject property extraction without debug info
Task-number: QTCREATORBUG-16908
Change-Id: I1e1e9d91a6317808610f39868383b67e5c80a9a4
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-12-02 13:26:00 +00:00
hjk
2275d68373 Debugger: Switch on QObject name display by default
... and use the option to govern general QObject guts display.

This allows people to completely avoid the performance impact
of attempted QObject display and still makes the feature
more prominent for our favorite use case.

Change-Id: I1e53b6448f646ab7eea9168a3cd24c77769e6328
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-12-02 11:23:46 +00:00
hjk
2d5e6ef232 Debugger: Fix QObject parent pointer display
Change-Id: If8b6c7415d5cd6b8e5df6c2d760b015e3077c20f
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-12-02 06:57:11 +00:00
hjk
aba0a6b9ce Debugger: Add dumper support for libc++'s std::weak_ptr
Change-Id: Ie9041f95159e85c81f108aeff1564be136e4b7ef
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-12-01 14:34:21 +00:00
hjk
a7fb4cd3ed Debugger: Make QStandardItem dumper work without debug info
Change-Id: Iccdc693616558d2d224c1145eee78f903792c4a6
Task-number: QTCREATORBUG-16908
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-12-01 14:30:37 +00:00
Christian Stenger
681efe2324 Dumper: Fix std::once_flag dumper when using libc++
Change-Id: I5f320153f6ace6aecfad12f6156bba700fe7ad85
Reviewed-by: hjk <hjk@qt.io>
2016-12-01 09:23:27 +00:00
hjk
c944d08702 Debugger: Make {boost,std}::shared_ptr display more compact
After debugging through a code base that makes extensive use
of shared pointers (LLDB...) I came to the conclusion that the
display of weak and strong counts is pretty much useless and
it would be better to avoid that level in the display.

Change-Id: Ie03b05fff4f7f5b7dced2e656b404e8e7938cc25
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-12-01 07:50:23 +00:00
hjk
53022f01fd Debugger: Add dumper for std::once_flag
Change-Id: I8b5166fc0e7d54676b84a1b0d45c6a2793c2a37c
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-12-01 07:09:00 +00:00
Thomas Hartmann
91bce7abef QmlDesigner: Removing wizards for QtQuick.Controls 1
Change-Id: I29d588021a5bf44af7a8f53e71363b96713d576c
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2016-11-30 15:21:32 +00:00
Eike Ziller
e487b3bd55 Merge remote-tracking branch 'origin/4.2'
Change-Id: I575f1cf98f2a4740577cdd94da21687d3392cdb7
2016-11-30 15:09:11 +01:00
David Schulz
bae72fcc51 Debugger: Fix MSVC python dumper for std::vector
Change-Id: I843f6195a9d51066eae57b7d383a0450fe4c56a1
Reviewed-by: hjk <hjk@qt.io>
2016-11-30 13:41:12 +00:00
hjk
3193321532 Debugger: Add a dumper for std::weak_ptr
Change-Id: I253b6d8069ecf36618aa40038da6820f52eb38df
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-11-30 13:37:46 +00:00
Robert Loehning
83e516771b Fix string in German translation
Change-Id: I4c29e01e94060be905fb85ae7598e7fb1b384e42
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2016-11-30 12:37:22 +00:00
Thomas Hartmann
5eeecdb1b4 QmlDesigner: Fixing double free
Calling detach() in setKey() will free the shared memory twice, if
we do not set m_memory to nullptr.
Clean cleanHandleInternal() does always return true, so
checking the value does not make sense.
We have to call cleanHandleInternal() immediately after the close.

Change-Id: I110693d1dd9dae4ff5e52cfd3fdd2f33137af969
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2016-11-30 08:29:25 +00:00
hjk
328f0c32e6 Debugger: Always display bald pointers as dereferencable
The result might not make sense, but the user should
have the option to check for himself.

Change-Id: I1792452906a5a27fd57b8f531792e63ef63033c8
Reviewed-by: hjk <hjk@qt.io>
2016-11-29 14:29:42 +00:00
David Schulz
f63c947289 Debugger: Fix MSVC python dumper for std::list
Change-Id: I3c32ba62107d54e0ab588b7a6cd068575c4e2873
Reviewed-by: hjk <hjk@qt.io>
2016-11-29 10:54:00 +00:00
Orgad Shaneh
7b3642cce4 Merge remote-tracking branch 'origin/4.2'
Change-Id: I259a402bc896fc2e359cc96b7510453ac9a9a552
2016-11-28 15:27:51 +02:00
Tobias Hunger
565aed03a2 Wizards: Use filename, not baseName for license headers
Task-number: QTCREATORBUG-17343
Change-Id: I23ae4b510bb2dc81bd34253e8129ba148ae92021
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2016-11-25 15:20:15 +00:00
David Schulz
cc765e9fad Debugger: Raise exception for invalid memory
The api doesn't expect empty arrays and doesn't validate indices
before accessing them.

Change-Id: I6d6fde9eec6d65d5db351be821fed892a77fabc1
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-11-25 12:04:52 +00:00
hjk
eefe4fb7f7 Debugger: Add a dumper test for shared_ptr<ThingWithVTable>
... and fix lldbbridge to pass it.

Change-Id: I2c20cfafe5d7695d4359521cbfcbdc235dacbc82
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-11-25 11:57:24 +00:00
hjk
b18ac1faec Debugger: Make QStandardItem test pass without debuginfo
Change-Id: I9afbe8c76b6ff0797859f72741941a9ed34e57a1
Reviewed-by: hjk <hjk@qt.io>
2016-11-24 16:24:30 +00:00
Christian Kandeler
00f9ee1a3e Debugger: Better fix to extract Qt namespace with GDB
Done-with: Christian Kandeler
Change-Id: Idf34bee297677e837085d55297a0d6e6341dd2c7
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2016-11-24 16:21:21 +00:00
hjk
a225158c24 Debugger: Simplify dumping of paired items
Change-Id: I191801489d88c6abd15c6f3cd1cc6df97c8668d6
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-11-24 15:12:14 +00:00
hjk
9d7a1fcb0f Debugger: Add a QStandardItem dumper
Change-Id: I503b17e1f36158a774dcf096b19ba628f0cc0205
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-11-24 09:51:40 +00:00
David Schulz
75303523ef Debugger: Fix std::deque python dumper for msvc
Change-Id: Iffbc3dffef6a3dc941fde024eac1e5e690ddb1c8
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-11-24 08:46:52 +00:00
David Schulz
1df8f19257 Debugger: Create reference types for arrays and pointers
Directly looking up array and pointer types is more
likely to fail than looking up the target type.

Change-Id: Icea8320e2eedd34f6d81692c5eacf50f644100bc
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-11-24 05:44:40 +00:00
hjk
e9f0f37070 Debugger: Robustify QRegExp dumper
The capturesTexts cache may or may not be warm, and
we may or may not be able to warm it. Make the dumper
work in as much cases as possible.

Change-Id: I9d9e0ec0c6a1bcf7288352c2834fedd42071d068
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-11-23 11:23:04 +00:00
David Schulz
c8bb93de6b Debugger: Do not print warning for auto padding
Change-Id: I5fc1cf185fdf9d3928a68e952aeb9fd39fe87c8a
Reviewed-by: hjk <hjk@qt.io>
2016-11-23 08:26:21 +00:00
Thomas Hartmann
d942111ace QmlDesigner: Fix manual puppet build
The overload for the "+" operator is ambiguous.

Change-Id: Iaebd889ef2eaed6e2d4261ecbd9555a6ba73c521
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2016-11-22 16:14:04 +00:00
Nikolai Kosjar
ab87035ed3 QmlDesigner: Fix compilation
nodeinstanceserver.cpp: In member function 'void
    QmlDesigner::NodeInstanceServer::setupImports(const
    QVector<QmlDesigner::AddImportContainer>&)':
nodeinstanceserver.cpp:458:71: error: conversion from 'const char*' to
    'QChar' is ambiguous

Change-Id: Ifa4cb2700344aaacc17619f05249f338e9b28d0b
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2016-11-22 10:01:04 +00:00
Tim Jenssen
cff0c06f0c QmlDesigner: fix import check again
Task-number: QTCREATORBUG-17303
Change-Id: I0f7a054d63234f3f368de65fd6092c494a9055d4
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@theqtcompany.com>
2016-11-22 09:19:53 +00:00
Tim Jenssen
571168f9fb QmlDesigner: fix endless loop in check import code
Change-Id: Id1255ed1fd544e0eed75aeeeb2ffb3df8f75dc84
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@theqtcompany.com>
2016-11-21 15:44:33 +00:00
hjk
286f089e55 Debugger: Fake contents of empty base classes with LLDB
A truly empty base wouldn't need content, but LLDB 3.8 reports declared
but not defined undistinguishable from empty bases. At least for the
common case of a single inheritance class we can continue dumping by
fake base class contents by fake the contents by using the whole derived
object's data.

Change-Id: I82d595b985ec1289d8abce5fccd217057d2d2d44
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-11-21 13:34:03 +00:00
David Schulz
b04602396b Debugger: Detect base classes in cdbbridge
Change-Id: I6a422bd70e6a28acd390ec9d01a14331b41168c0
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-11-21 12:47:22 +00:00
Orgad Shaneh
6d1d1a4416 Merge remote-tracking branch 'origin/4.2'
Change-Id: I957c22020fbacb2f631220b0cdc7fa16a782798b
2016-11-21 10:25:45 +02:00
hjk
fa5cd03c11 Debugger: Add libc++ std::{deque,stack} dumpers
Change-Id: Ibf95c76b89fb7673241e680c233c7514c667f261
Reviewed-by: hjk <hjk@qt.io>
2016-11-18 16:27:07 +00:00
hjk
96b907a1e8 Debugger: Fix QFiniteStack dumper and add missing auto test
Change-Id: If5f242f8d5184a0f2c62f6211f2ba89cda0cac07
Reviewed-by: hjk <hjk@qt.io>
2016-11-18 13:32:05 +00:00
hjk
5b43ff7ad9 Debugger: Make QV4 dumper test pass with Qt 5.8.0
The layout of a QV4Value has changed in Qt Declarative change 2afb54fb.

Change-Id: Iab618cc128be242c786b9a7460e80e8e49ee6544
Reviewed-by: hjk <hjk@qt.io>
2016-11-18 13:31:26 +00:00
hjk
3c3bccf0fb Debugger: Also support boost 1.55 unordered_maps
Change-Id: Id9ac4ecc8c61d4224f5840df2ec0a75c3c305825
Reviewed-by: hjk <hjk@qt.io>
2016-11-18 12:11:56 +00:00
David Schulz
f8c86fd95f Debugger: Detect msvc virtual function pointer table
Change-Id: I51d82b692638932e35f22a5bb9286eecad577ed7
Reviewed-by: hjk <hjk@qt.io>
2016-11-18 11:41:36 +00:00
hjk
c9067ff28c Debugger: Fix boost::unordered_set dumper for older boost versions
Somewhere between 1.48 and 1.58 structure layout changed.

Change-Id: Id8bcb473f364537342261dd2596f9f1bdacb5c79
Reviewed-by: hjk <hjk@qt.io>
2016-11-18 08:21:05 +00:00
hjk
952c3e3b64 Debugger: Remove some of the inferior call in QVariant dumper
Change-Id: I1f1ac5c5ba59c36d3c3d6546b24a93d1b647f88a
Reviewed-by: David Schulz <david.schulz@qt.io>
2016-11-18 08:02:35 +00:00
David Schulz
eabccbdcb2 Debugger: Don't encapsulate integer in values for template args
Change-Id: Ib1bb2b01ff8eb1ed11c0f5785f3b4bb5f50c411a
Reviewed-by: hjk <hjk@qt.io>
2016-11-18 06:16:04 +00:00
hjk
572ba812d2 Debugger: Fix over-quoting in LLDB breakpoint reporting
The 'output' bit is inserted at report time, not at callback
script generation time.

Change-Id: Ibb5c9b09d8391d1be86b8f110e32ab1c90f6bab2
Reviewed-by: David Schulz <david.schulz@qt.io>
2016-11-17 14:47:16 +00:00
hjk
0334438b40 Debugger: Use more direct access in std::deque dumper
This effectively fixes the LLDB dumper for std::deque and std::stack by
avoiding a code path in which LLDB returns wrong data (the type and
offset for the _Deque_iterator::_M_first member - surprisingly the
other three members there get reported correctly).

Change-Id: Iae1ba8b81987442ed2d486b383a145a77ce49cd7
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2016-11-17 11:07:18 +00:00
J-P Nurmi
1c4a5529f4 Update QQC2 imports in qt5QtQuick2-bundle.json for Qt 5.8
Change-Id: I275ec57ecefaee8dc08981ad7eb57c40e47889ce
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2016-11-16 16:15:16 +00:00
hjk
84417cc122 Debugger: Use more direct access to QFile object guts
This still does not solve the QFile dumper test fail with LLDB/Linux,
but its one obstactle less. The remaining one is LLDB not reporting
the QFile base object size at all.

Change-Id: I3144cf9469c4456d21b8c220c9df1cd890348491
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-11-16 15:12:13 +00:00