... in the presence of empty base classes. This now actually makes
the Inheritance dumper test pass.
Change-Id: I92ada5da46accb6e7eaff58ce5dc329484ef0909
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
... as well as the 'autoderef' flag. A lot of dumper tests were
failing even though the dumpers themselves were ok.
Change-Id: I198784d95eb0004e81bfab995121e048b1722c66
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
With C++11 we use std::atomic in the ref counter, giving yet
another possibility of structure member names. Instead of
trying to keep up with that, access the binary data directly.
Change-Id: I572f727eb9dab37ac1ca07594d55bea723050817
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
... by adjusting the expectations on the exact type display
and trying two possible versions of structure member names.
Change-Id: I817aeb787b905cb22c6f68856043a29db3e79e59
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
CamelCase might be more Qt-ish, but the backends tend to use
lowercase only.
Change-Id: I04b9b7305b54226f27b70151115050c4816f911f
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
- Remove old experimental native mixed approach.
- Move some common stack parsing to Stackhandler.
- Mark gdbbridge.py debug output explicitly to remove it
from actual reponse handling
New native mixed needs QtDeclarative changes and
QTC_DEBUGGER_NATIVE_MIXED=1 for now.
Change-Id: I09eed1da51cea878636d36756015b7bfaed34203
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
While the formatted value is usually all that's wanted,
having access to the individual chars is handy at times.
Change-Id: I53b0d0ccfe4289b9b54a1caced4e0bd5ac66d9fc
Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
... that breaks QHash display for keys with value 0.
Task-number: QTCREATORBUG-14451
Change-Id: I8578d9f1d14c367beaccabc5373bd75860ee454b
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Needed to debug the QmlDebugger.
Change-Id: Ia0b50dac2146fcc81990b78eb8de30c8e763bba2
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
The include for utils/environment.h was omitted
unless Q_OS_MSVC, but the code that uses it is
also compiled for MinGW-w64, so change that compile
guard to Q_OS_WIN instead.
Change-Id: I2fa5a09f1864c0ed38d09e3fbb2c6f661fbc8b26
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
This was testing a bool value, not a stream, and doing that wrong
on Windows.
Change-Id: I86b1aaea99e77b2aa3c37bb5c9c3e0ba8a90cb05
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Normally, we use '?' as an optional Qt namespace qualification.
This clashes with the use of ? in a regexp type expression.
Re-order checks to avoid the clash.
Change-Id: I4a8aee0174f4f3d21bec624919856623808becb1
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
... by relaxing the namespace checks.
Change-Id: I2c2978fe4e95bdc87df24fd6ecbcba4bf1913df3
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
This is a generalization of 134234be67. '?QFoo' is now meant to
match both 'QFoo' or 'Ns::QFoo' in a namespaced Qt. '@QFoo'
continues to match 'Ns::QFoo' only.
Change-Id: I4285cd9f75a2e4cd94ec5dbb107214f75a60c810
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Older versions of GDB (~GDB 7.4 on 32 bit) will cause segmentation
faults in inferior calls due to misaligned %ebx values in an SSE
call in qstring.cpp:findChar.
Change-Id: I44492106080f12e645f9d57828438ec70fd66ca6
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
... to make it pass with LLDB. The exact display of the private
is not *that* interesting anyways.
Change-Id: I2d0a8bdd5daff4b03c77b00c887837c7568ea508
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
LLDB 3.7 on Linux doesn't get the namespace right in QMapNode:
sc t = lldb.target.FindFirstType('Myns::QMapNode<int, CustomStruct>')
sc t.GetName() -> QMapNode<int, CustomStruct> (no Myns::)
Change-Id: Ied306f70035e0669bc822700a92371b7de35a603
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Failures were due to version specific reordering. This is still
checked in cases h1, h7, h8. Simplify maintanance by removing the
check in the other cases.
Change-Id: I481672e693f6370c75bc4739d6cca937b9f027ea
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Take new QPolygon{,F} dumpers into account, also make QUrlPrivate
field accessible,
Change-Id: I2b5c122895c3ee389ba939eaeffcd613fa206009
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
... and further unify GDB and LLDB code paths.
Change-Id: Id89f3804c53190c4888082891fd3c3c55eceac84
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Instead of starting LLDB through a Python script this now starts
LLDB directly. This did not work a while ago but seems fine nowaday.
Change-Id: I20e915070cd6addf260817c311f4160d010aa861
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
Reviewed-by: hjk <hjk@theqtcompany.com>
Write the full command to a temporary file for easier re-use.
Un-ignore the first stop, this does not seem to be needed in
the new async setup.
In some cases LLDB is not able to extract the even the top most
frame of the stopped thread (happened 2 out of 100 runs of the
QDateTime dumper). It's unclear why. For now just report the fact.
Change-Id: I76a63bc288f1ae6f5bd9b9604a47f051912b93d7
Reviewed-by: hjk <hjk@theqtcompany.com>