Commit Graph

461 Commits

Author SHA1 Message Date
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
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
hjk
fd0bf9df64 Debugger: Make QObject connections a bit better accessible
Change-Id: I5e70a61db73f89dc48efc82bc6aa4e42c44ba6d5
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-03-16 10:12:40 +00:00
hjk
db1e1db1e2 Debugger: Remove some test code constructor
Accidentally leaving out the comma was a needless extra source of errors
shifted from compile to (test) run time.

Change-Id: I02db60b5e4648545cb869738d009b91720827f93
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-03-09 12:37:52 +00:00
hjk
fb213b5826 Debugger: Use a named tuple for Dumper.Field
Makes it clear that this is meant to be immutable and is supposedly
faster.

Task-number: QTCREATORBUG-17823
Change-Id: Ie5d67b793e0bc4f704981d5161efc12bcc22100a
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-03-09 08:20:46 +00:00
hjk
95f78f6c80 Debugger: Restrict QFixed dumper to Qt 5
Change-Id: Ic6992bf4f9160bca43ef7e71968105508bdc29f2
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-03-07 10:14:39 +00:00
David Schulz
9d8c380b43 Test: Add corrrect Qt path to environment
Change-Id: Ie1d88ebb6b266ce7da2d45b032561883faad5ce5
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-03-07 09:36:04 +00:00
David Schulz
707c14df18 Test: Move setupCdb to initTestCase
Change-Id: I8487d932914484db91c24e9059da77225da84906
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-03-07 09:35:54 +00:00
David Schulz
aafb17ae83 Debugger: Add enum value dumper to cdbbridge
Change-Id: I40f1556599be7581eeab0c75b034696ac22a7131
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-03-01 10:07:49 +00:00
Eike Ziller
1704c484a8 Merge remote-tracking branch 'origin/4.2'
Change-Id: I9006dd493707ae626ae3502541599c8789e1aab0
2017-02-27 15:17:37 +01:00
David Schulz
bb05b5ff11 Debugger: Pass Qt type info version to the debugger protocol
Fixes Qt 5.8 QDateTime python dumper.

Change-Id: If6fab7bf3ea63372ef01942bcaa2121eb9c2b6db
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2017-02-23 05:55:46 +00:00
Tim Jenssen
2631ffabd5 Remove spaces in initializer lists
Format initializer lists code style like.

Change-Id: Ib82c235e4ba7dc75ee96a7abc0c47eff7b0a9013
Reviewed-by: hjk <hjk@qt.io>
2017-02-22 16:25:09 +00:00
Nikolai Kosjar
77dbee7bdb Tests: Fix compilation of tst_dumpers.cpp
Change-Id: Icdd65a6fc510e4bdb6071ebd4314a0eff7559f4f
Reviewed-by: David Schulz <david.schulz@qt.io>
2017-02-17 12:46:50 +00:00
David Schulz
4e16c507c1 Debugger: Restrict tests with initializer lists to MSVC 14+
Change-Id: I685909652bd7567473a2e6d09254d67e8bb51b33
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-02-17 11:47:13 +00:00
David Schulz
e0fd62afef Debugger: Fix compiling dumper tests without profile on windows
Change-Id: I2260678a77fde5eb0599cdec2e52f12f63cf0fcd
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2017-02-15 08:47:31 +00:00
Eike Ziller
e724934393 Merge remote-tracking branch 'origin/4.2'
Conflicts:
	doc/src/qtquick/creator-tutorial-create-qq-project.qdocinc
	doc/src/qtquick/qtquick-creating.qdoc
	doc/src/qtquick/qtquick-uiforms-tutorial.qdoc
	share/qtcreator/welcomescreen/qtcreator_tutorials.xml
	src/plugins/git/gitgrep.cpp
	src/shared/qbs

Change-Id: I6f4d168d888d9547c3af0819f79cc9ebb4186ca0
2017-02-14 15:32:04 +01:00
Orgad Shaneh
0c9f23db96 GDB: Fix printing of flag enums
It worked with plain GDB (parse_and_eval), and was broken by
696b2d4261.

Change-Id: Ibc143efdbd90681a2f9f4d84b75063eb98078f2b
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-02-13 08:08:41 +00:00
Orgad Shaneh
9c820101cc Debugger: Fix dumper tests
1f29242276 used the correct form for
CONFIG -= qt.

This revealed several cases that are missing CoreProfile configuration.

Change-Id: I8bb6d5156eb6beba91a8df7b948832f1e043d64f
Reviewed-by: hjk <hjk@qt.io>
2017-02-13 07:08:48 +00:00
hjk
af54ab960a Debugger: Add a dumper for QSqlField
Task-number: QTCREATORBUG-3905
Change-Id: I9290a9e46d7fa77417d58a3f81d4e4d680c751b6
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-02-08 15:22:10 +00:00
hjk
1f29242276 Debugger: Fix a few bogus CONFIG {+,-}= QT statements
Should be lower case, and += is not really needed.

Change-Id: If51cfcfd8e1971576fe67d3c53c8f18f416e3afe
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2017-02-08 11:40:46 +00:00
David Schulz
2144a8c798 Debugger: Make cdb python dumper tests green
Change-Id: I3b6c57660badf14eea2a97f4ccfb3ef9aa168901
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2017-02-06 10:02:00 +00:00
Alexandru Croitor
6bf8f85b33 Test for array of function pointers in LLDB dumper
Test checks that the dumper doesn't go through the slow "iterate
through every type defined in target" dumper path.

Done-by: Alexandru Croitor
Change-Id: I4e1aea22ea2912467635f2e62fe1f6b2aa58e897
Reviewed-by: hjk <hjk@qt.io>
2017-02-02 14:34:04 +00:00
hjk
19e6ee7862 Debugger: Adapt QHostAddress dumper after Qt Core change a6cdfacf
Change-Id: I750d37f7ab23a638c2e0c5f0fd808ba22a0b49d0
Reviewed-by: David Schulz <david.schulz@qt.io>
2017-02-01 12:12:38 +00:00
David Schulz
228e53aab1 Debugger: Add dumper for unordered_multi(set/map)
Change-Id: Ie1badb0cab0331c35e3094ab121a1a1170cc2bcf
Reviewed-by: hjk <hjk@qt.io>
2017-02-01 10:19:03 +00:00
David Schulz
4eb3b3348a Debugger: Unify std::once dumper output
Change-Id: I4bbb14036ce89d8e06b184f33fd2ecfd098f2443
Reviewed-by: hjk <hjk@qt.io>
2017-01-27 12:42:56 +00:00
David Schulz
c8bd342597 Debugger: Adjust std map test to msvc iterator dumper
Change-Id: I3c9e4138d2e0a3ec4083f01d243eb707905e9f18
Reviewed-by: hjk <hjk@qt.io>
2017-01-19 07:11:20 +00:00
Christian Stenger
1e0b7e58b8 Tests: Avoid automatic masquerading of newline characters
Change-Id: Ic18083e9b21051a03a69c6c6e10a23e7144ad647
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
2017-01-18 14:50:38 +00:00
Eike Ziller
589fedf455 Merge remote-tracking branch 'origin/4.2'
Conflicts:
	qbs/modules/qtc/qtc.qbs
	qtcreator.pri
	src/plugins/projectexplorer/kitinformation.cpp

Change-Id: I94299b069418586db97d1d596a252794e4037556
2016-12-20 17:14:19 +01:00
David Schulz
3c31692669 Debugger: Add a TypeDef construct to dumper test
Reducing the amount of duplicated checks and skip messages.

Change-Id: If7bb2057ef153c3829f28e131a77765fbacccc40
Reviewed-by: hjk <hjk@qt.io>
2016-12-20 06:12:09 +00:00
David Schulz
927df87f32 Debugger: Add engine to context of the dumper test
Change-Id: I52fa0281ef6911aaafbb7622a811fe8a0b78a8ea
Reviewed-by: hjk <hjk@qt.io>
2016-12-19 16:33:54 +00:00
David Schulz
f2261e4661 Debugger: Adjust dumper test to cdb python dumper 2
Change-Id: I49f425484f270551ffef4281b70f10c8cad02030
Reviewed-by: hjk <hjk@qt.io>
2016-12-19 13:30:29 +00:00
hjk
90a4ff723b Debugger: Remove need for debug builds in some dumper tests
Not needed anymore.

Change-Id: I206c2ae4e93306f8dc4fcea0dab727f769ad739c
Task-number: QTCREATORBUG-16908
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-12-16 10:17:00 +00:00
hjk
0e6c9d26f1 Debugger: Fix pointer arithmetic in dumper framework
Task-number: QTCREATORBUG-17428
Change-Id: I1e3a682a6f412af51e191dc783b89ff266020e3b
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-12-14 14:23:37 +00:00
David Schulz
0cadb398a5 Debugger: Add environment variable for cdb extension path
Change-Id: I6d7710ad3f4ba8b9dd32928c06d36191e63e9d3b
Reviewed-by: hjk <hjk@qt.io>
2016-12-14 08:10:16 +00:00
hjk
e351c693c6 Debugger: Add a test to check the automatic expansion of 'this'
Change-Id: I90fad62442d677ba441e2e61b660cae7ebea52ea
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-12-06 06:16:08 +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
87e1093d59 Debugger: Fix QStandardItem test with namespaced Qt
Change-Id: I610dfddd519057c5464d89f42508108c7f8abb14
Reviewed-by: hjk <hjk@qt.io>
2016-12-01 15:28:24 +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