Commit Graph

674 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
David Schulz
f32b1d00f4 Debugger: Adjust offset for QFile dumper
Change-Id: I20704cdcdda1273cdc0df91bf963c979a1f51190
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-03-21 09:04:41 +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
42c68ad7b5 Debugger: Remove libUtils dependency from some tests
libUtils nowadays depends on Qt Declarative, which is not necessarily
present in pure test setups.

Change-Id: I8c40d086186ccf047c034345126f088f53652dbb
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-03-10 12:15:17 +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
Christian Kandeler
36850fbfd7 gdb autotest: Fix qbs build
Change-Id: I5c3b9984fe364db179d76b277a453ec01a4a7b39
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2017-03-06 10:40:50 +00:00
hjk
329db5f4cc Debugger: Use ProcessHandle in notifyInferiorPid()
Change-Id: Idcb6819b64964b6aa0e72d182cc628feba37ba55
Reviewed-by: David Schulz <david.schulz@qt.io>
2017-03-01 11:57:48 +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
Christian Stenger
a803ee062b Tests: Avoid race condition when building with multiple jobs
Change-Id: Ia5a110812694d03e6f6e02cf66b4aaf209224910
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2017-02-27 08:34:07 +00: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
a9f446704f Debugger: Adjust python dumper for 32bit MSVC binaries
Change-Id: Ia20321da89b387d016eb7fed076002a709aae748
Reviewed-by: hjk <hjk@qt.io>
2017-02-07 09:18:23 +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
David Schulz
9ddd66437f Debugger: Fix dumper test build
QTC_LIB_DEPENDS has to be set before including qttest.pri

Change-Id: Ie455b7341a2d79d74e3bf6f9f9d39ce8a7539e6d
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-02-03 08:10:32 +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
344b9f7749 Debugger: Remove Qml dependency from dumper test on Linux/Mac
Helps building tests in restricted environments.

Change-Id: Ic12b8e011555735a6539a8aba1e9e55b321dfbc2
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-02-02 13:25:44 +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