Commit Graph

547 Commits

Author SHA1 Message Date
Orgad Shaneh
7d3a79c696 Utils: Purge asConst
Replace by qAsConst.

Change-Id: I3301366f73c066c86f08df7188d70dc3b613c55c
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2018-04-09 09:04:00 +00:00
Eike Ziller
5cc24f9ac1 Merge remote-tracking branch 'origin/4.6'
Conflicts:
	src/plugins/projectexplorer/msvctoolchain.cpp

Change-Id: If2116aa2dbfdb9d07088595e791f8fa706b39e00
2018-03-28 10:01:44 +02:00
hjk
401d6862b5 Debugger: Make CharArrays dumper test pass on linux
I need the #include <wchar.h> after a recent upgrade.

Change-Id: I59790d6c92b14f42df8b5ece7227c406f2810c8b
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2018-03-22 13:05:38 +00:00
hjk
a8a23110bf Debugger: Fix enum dumper
Make the hex display work with LLDB, fix GDB and LLDB test.

Change-Id: I529b5cdc908dbcba7270bc4574fa59a012fcacad
Reviewed-by: David Schulz <david.schulz@qt.io>
2018-03-22 08:45:57 +00:00
hjk
a42ae9e6f5 Debugger: Add the ability to auto-test expression evaluation
... and use it for the hidden "sequence" feature.

Change-Id: I3430a24774264a573687ee818064314a8bca7212
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2018-01-31 14:19:23 +00:00
hjk
0cce7a82fe Debugger: Add some simple dumper for std::function
Linux/gdb only, pretty print the cases of default constructed objects
and real function pointers.

Task-number: QTCREATORBUG-19410
Change-Id: I08332af649bda861d9f53c0e0feb1f37db72b875
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2018-01-05 07:20:26 +00:00
David Schulz
800aa7466f Debugger: improve symbol lookup times for cdb
Task-number: QTCREATORBUG-18613
Change-Id: If8dac096fa4d0d8afc6fb8f7bbffd090a5dc6e19
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-12-13 13:59:01 +00:00
Christian Stenger
1914481a30 Tests: Disable test for LLDB
Change-Id: I1f7a576d3b8feb527013e3b679fc60c4e663f2eb
Reviewed-by: hjk <hjk@qt.io>
2017-11-27 12:48:42 +00:00
hjk
0965b9752d Debugger: Add one more enum dumper autotest
I cannot reproduce the issue from the bug report anymore, but
having a test for it should not hurt.

Task-number: QTCREATORBUG-18529
Change-Id: If7464e45c14bbe316bf7ed1c68ea1f2692093005
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-11-10 11:36:55 +00:00
hjk
7194500d57 Debugger: Fix autotests with Qt 5.10
QTemporaryDir changed behavior, possibly by 3d6cbe3 in qtbase:
QTemporaryDir("ABC").path() in produces
    - in 5.6: something like ABCzDcwHP
    - in 5.10: something like /working/dir/ABC.HAZrEm

Change-Id: Ic51f30f54e1b8f9a8ca302b1b43640a45074ab0f
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-11-10 11:30:19 +00:00
Christian Stenger
1305068375 Test: Fix typo
Change-Id: I0e7ca842f550cbb0853221c9b843192c2675bc73
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2017-11-08 10:48:25 +00:00
Christian Stenger
d0fe839451 DumperTest: Fix compile failure for gcc4.9
Change-Id: I1d97324a12a4d0974f1930351f337c381851d011
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2017-11-07 09:45:41 +00:00
Orgad Shaneh
5e8e619dd0 Merge remote-tracking branch 'origin/4.4' into 4.5
Change-Id: I9b7cb3d845628abf69a73a279f5a79202c0976c2
2017-10-04 16:11:17 +03:00
Orgad Shaneh
c94b813561 Dumpers: Quit test immediately if make fails
Change-Id: Idee48a997dce047e5ad90d133fce9c610f609a9a
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2017-09-27 08:35:49 +00:00
Orgad Shaneh
119fc885be Dumpers: Fix tests execution on Windows/MinGW
Change-Id: Ie6207f5edba865e880249d6f70daf1e9c72c4163
Reviewed-by: hjk <hjk@qt.io>
2017-09-27 08:27:10 +00:00
Orgad Shaneh
6f1a18cc37 Dumpers: Modernize tests
* Remove QLatin1*
* foreach -> for

Change-Id: Ifac9b14b9904df8d112c71f791f1e0bd45ffc584
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-09-27 06:20:01 +00:00
Eike Ziller
cfdea6b9c2 Merge remote-tracking branch 'origin/4.4'
Change-Id: I7bf72444b19db20fcc7dc2c9d1f02ec2b30b658f
2017-09-25 11:00:25 +02:00
Orgad Shaneh
a627f4eef7 Dumpers: Print readable output in tests
Change-Id: I32864c9c1b8fe60b5b01423f68e63a3c00b936f8
Reviewed-by: hjk <hjk@qt.io>
2017-09-19 13:47:19 +00:00
Eike Ziller
3d9cf954e2 Merge remote-tracking branch 'origin/4.4'
Conflicts:
	src/plugins/debugger/debuggerdialogs.cpp
	src/plugins/debugger/gdb/remotegdbserveradapter.cpp

Change-Id: I1ae77869887a8d9ef2a33439f2733315db9e0cf0
2017-09-19 12:10:26 +02:00
hjk
fe1cbd0f87 Debugger: Add yet another virtual inheritance test
Failing for now.

Change-Id: Ic624b9c64f85f06bf61a2e8f765a272a835c0c43
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-09-19 09:20:52 +00:00
Orgad Shaneh
f97657b15e Dumpers: Add a show case for C-style strings
Change-Id: Ic70761ffcd76bdfed7879c222d471b50a8b32c0b
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2017-09-18 15:00:37 +00:00
Orgad Shaneh
2760b9fc67 Dumper: Dump CHAR/WCHAR arrays as strings
Change-Id: I78bdb181e27cc858356c9026fc960135b54cdcbb
Reviewed-by: hjk <hjk@qt.io>
2017-09-18 11:43:51 +00:00
hjk
8cb944f4ff Debugger: Display summaries for CoreFoundation types
Uses lldb's GetSummary() method to display values for CoreFoundation
string-like variables.

Task-number: QTCREATORBUG-18638
Change-Id: Icca6d9cf7b328c80b44eebe597259f38aba1c3ef
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2017-08-21 10:35:06 +00:00
hjk
b129cebccc Debugger: Fix manual splitting of complex template parameter types
Parsing has to stop at the first < (coming from the end).
foo::span<int>::bar<double> has a parameter 'double', not 'intdouble'.

Change-Id: Ied142d5e75a7587d6c0efd3b51608b199b999e93
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2017-06-19 09:24:38 +00:00
Orgad Shaneh
a9145e67ba Debugger: Prettify values for enum bitfields
Change-Id: I55329bba1864c9ebbbcb3b3bf1b940346507f8cd
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-06-12 10:40:46 +00:00
Orgad Shaneh
89057b552b Merge remote-tracking branch 'origin/4.3'
Change-Id: I56004e3ec9dc9d92d33bdae438c4f7e069eccc45
2017-06-02 15:13:51 +03:00
David Schulz
2e203e868f Debugger: fix regex matching local enum type in dumper test
Change-Id: I2a0002be23bca2d0dc29273428772b38189f18d6
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-06-01 05:33:39 +00:00
Orgad Shaneh
ac2b2d6139 Debugger: Add a test for enum bitfield
Change-Id: I5e11dd39941b5b4fe7d27e329b5268a23e7a72b1
Reviewed-by: David Schulz <david.schulz@qt.io>
2017-05-31 18:13:05 +00:00
hjk
c34ff88c5a Debugger: Add an auto test for typedefs with unnamed enums
Change-Id: I7ed68c954265d4f25aec98d2d833df01a9ef9153
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2017-05-30 10:38:02 +00:00
David Schulz
2317d06a80 Debugger: Add DumperOptions to the cdb fetch command
Change-Id: Ibe05f82997b57cfffb26bfb5c67681be24419139
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-05-30 08:40:33 +00:00
Orgad Shaneh
8430da3bf7 Merge remote-tracking branch 'origin/4.3' into master
Change-Id: I01ab8c85ea3372b6dce4142ddb9cf92d903ffca6
2017-05-23 23:41:40 +03:00
hjk
99ac955664 Debugger: Fix display of pointers as arrays
Task-number: QTCREATORBUG-18204
Task-number: QTCREATORBUG-17803
Change-Id: I4efe359c206b53ef773127cf29107d3cce720819
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-05-16 11:55:58 +00:00
Eike Ziller
6e8ee7479e Merge remote-tracking branch 'origin/4.3'
Conflicts:
	src/plugins/debugger/cdb/cdbengine.cpp

Change-Id: Ib9aeccc4162c43e9ee3d85847d96678045625dd0
2017-05-09 15:07:30 +02:00
Orgad Shaneh
279192f17a Dumpers: Fix operator + for pointers
Add an extensive unit test to prevent future regression.

Change-Id: I38b74f9b4f5893285e9afff2ddecaaad106f4114
Reviewed-by: hjk <hjk@qt.io>
2017-05-08 06:58:48 +00:00
Eike Ziller
105b69836c Merge remote-tracking branch 'origin/4.3'
Conflicts:
	tests/auto/debugger/tst_dumpers.cpp

Change-Id: Id8b53b000f94a1b5ab923db79f67bad3276d09dc
2017-05-04 10:03:50 +02:00
hjk
1e9cc97220 Debugger: Improve handling of static members in shared objects
Change-Id: I4978094dc5dcd0e57bb6790cfc8476a9db77724d
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-05-02 10:22:14 +00:00
hjk
f38f120031 Debugger: Add a dumper for QLazilyAllocated
Task-number: QTCREATORBUG-18060
Change-Id: I5eec7bd10f54278a1d40cf9fce97fba56f4aa2e4
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-04-26 10:51:39 +00:00
hjk
81d9315587 Debugger: Add a boost::variant dumper
This requires making template argument extraction a bit more robust

GCC 5.4.1 created debug info only reports the first argument for
boost::variant<int, bool>:

    #include <boost/variant/variant.hpp
    int main() { boost::variant<int, float> v = 1; return 0; }

    py print(gdb.parse_and_eval('v').type)

      -> boost::variant<int, float>

    py print(gdb.parse_and_eval('v').type.template_argument(0))

      -> int

    py print(gdb.parse_and_eval('v').type.template_argument(1))

       -> Traceback (most recent call last):
          File \"<string>\", line 1, in <module>
          RuntimeError: No argument 1 in template.
          Error while executing Python code.

Change-Id: Iedca8b073078c93449ab61bb2cab05d6cd9803ba
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-04-26 09:23:18 +00:00
hjk
c5d37af0e0 Debugger: Some support for 'long double'
Task-number: QTCREATORBUG-18023
Change-Id: I06783541668b95711cb5a45bf689c43b348ff624
Reviewed-by: hjk <hjk@qt.io>
2017-04-25 15:00:59 +00:00
hjk
1a4531dffd Debugger: Split a long line
Change-Id: If791d45c59e4aadce0c46886e238955891b27a49
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-04-25 13:26:51 +00:00
hjk
758e50fa45 Debugger: Catch some exceptions related to optimized out values
These could be triggered by declared but undefined and unused
static data members.

Task-number: QTCREATORBUG-18030
Change-Id: I941e8cbe8ce18dca737e59472ed0ee19ace44072
Reviewed-by: David Schulz <david.schulz@qt.io>
2017-04-25 07:58:13 +00:00
David Schulz
41954de06e Debugger: Fix dumper tests in wow64 env
Change-Id: Iac874ccb0c498065e1f46ebcc66a48ef721f6fff
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-04-24 08:42:50 +00:00
hjk
53ff0e1ca1 Debugger: Add a workaround for bad gcc debug info generation
Gcc does not write out full type names with 'using template ...', see
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80466

This is in most cases harmless for Creator as dumpers are triggered
independently of template arguments. However, if the dumper takes
different code path based on the template argument type, as is
e.g. needed for std::vector<bool>, wrong results are produced,
as the type cache only used the template base name as type id.

Work around by mangling the id of the un-typedef-ed type into
the type id of a typedef, which, in case of templates contain
the full parameter list.

Change-Id: I63c59cccdc186b09ff780e9dfd57b0ad668ae98f
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-04-20 09:15:59 +00:00
hjk
283bce7343 Debugger: Add a qfloat16 dumper
Change-Id: Ibc43da06c195d916296f09740a1111a2586443b8
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2017-04-19 06:01:18 +00:00
David Schulz
ca039a6eae Debugger: Adjust dumper test after cdb output changed
Change-Id: Ic8cb64ce1af6d6a5e74ad018813fea47555b1cfb
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-04-11 07:32:20 +00:00
David Schulz
4e4b5833da Debugger: Fix QFlags dumper for cdb
Also adding a test covering this dumper.

Change-Id: I491dd87e52f65bf3faf21d81436f264507bf0b51
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-03-30 13:37:53 +00:00
David Schulz
86edeb9722 Debugger: Use native value for pointer dereference
Change-Id: Ibde6ff382e7adc0c196837c9eba04391c0a2c3a0
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-03-28 09:22:28 +00:00
David Schulz
7f5b37ed14 Debugger: Disable QObject property dumper test on Windows
Change-Id: Iff91a41aae9328c6e935480c5cfc2fe3643ca743
Reviewed-by: hjk <hjk@qt.io>
2017-03-28 05:38:30 +00:00
hjk
ce42e8aba5 Tests: Fix compilation with Qt 5.9
qt_qhash_seed is no longer exported

Change-Id: I78df98b7022dbe5ae9da56c3d2514b3b31a2312c
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-03-22 14:59:08 +00:00
Christian Stenger
da03ab72af Tests: Exclude connections check for cdb
Change-Id: I1f3a1ed0bb130a7d4dc413c15c4fd32cb496a7ab
Reviewed-by: David Schulz <david.schulz@qt.io>
2017-03-21 11:25:37 +00:00