... 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>
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>
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>
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>
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>
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>
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>
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>
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>
The layout of a QV4Value has changed in Qt Declarative change 2afb54fb.
Change-Id: Iab618cc128be242c786b9a7460e80e8e49ee6544
Reviewed-by: hjk <hjk@qt.io>
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>
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>
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>