Commit Graph

1013 Commits

Author SHA1 Message Date
hjk
27cd7162e1 Debugger: Make LLDB instruction-wise stepping work with 3.8.1
Judging from the code it either never worked, or LLDB changed
syntax at some time. In either case, having it in a usable
state with current version is an improvement.

Change-Id: I88b15969bf28b92735d860544dedcbd1d9689765
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2018-07-24 12:45:01 +00:00
hjk
e2144db165 Debugger: Pass native gdb.Value to native gdb pretty printers
Task-number: QTCREATORBUG-20770
Change-Id: I6ea92faf0c9314c50da05356fa9004f87124111a
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2018-07-17 09:10:03 +00:00
Christian Stenger
a7fba990f4 Debugger: Fix Qt namespace detection for gdb8
Task-number: QTCREATORBUG-19620
Change-Id: Ieb7a8bc8cfeb8ba4331436ef6652437c0971c356
Reviewed-by: hjk <hjk@qt.io>
2018-07-06 10:10:05 +00:00
Christian Stenger
65a4333f2c Dumper: Fix detection of Qt namespace
Task-number: QTCREATORBUG-19620
Change-Id: Icca654714b70c69522b51998be21cff80bc29fac
Reviewed-by: hjk <hjk@qt.io>
2018-07-02 10:17:48 +00:00
Christian Stenger
8b4dbfb8e1 Debugger: Fix member offsets in QFile
Change-Id: I8d806aabcf2c744165553f087831ce899db24d80
Reviewed-by: hjk <hjk@qt.io>
2018-05-22 08:16:07 +00:00
Eike Ziller
428fcb476b Merge remote-tracking branch 'origin/4.6'
Conflicts:
	src/libs/utils/settingsaccessor.cpp
	src/plugins/autotest/autotestplugin.cpp
	src/plugins/git/gitclient.cpp
	src/plugins/qbsprojectmanager/qbsrunconfiguration.cpp
	src/plugins/qbsprojectmanager/qbsrunconfiguration.h

Change-Id: I65f143cad18af509a2621d6c5925abbd038ea70f
2018-04-13 10:54:42 +02:00
hjk
870a5c581a Debugger: Make libcxx's std::vector plottable
Task-number: QTCREATORBUG-20249
Change-Id: Idc17fcbda34273b4f29f0da0b01eddcd4f83c52d
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2018-04-12 06:28:48 +00:00
Orgad Shaneh
28fa43e45b Dumper: Return correct address on extractPointer for arrays
Change-Id: I8e25cca4553a8b69703ac0ffa80231f97cdef980
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2018-04-03 06:47:32 +00:00
hjk
d66e8b6ea0 Debugger: Remove some spurious '.report' content from dumper output
No real damage, the parser on the Creator side is apparently robust
enough. Still no need to add this.

Change-Id: I8329a55c44f866070fb3df48c3a22000ee33e848
Reviewed-by: David Schulz <david.schulz@qt.io>
2018-03-23 13:03:35 +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
80f98a7fb9 Debugger: Make QList as movable
Apparently changed in qtbase dafa3618d23.

Task-number: QTCREATORBUG-19812
Change-Id: I70f543c71cc2147cbd5ab33a070e1a35049f46a8
Reviewed-by: David Schulz <david.schulz@qt.io>
2018-03-20 07:13:12 +00:00
Christian Stenger
42e224eb4b Debugger: Fix attaching to core for LLDB
Task-number: QTCREATORBUG-18722
Change-Id: I4579fff9725f4a7578642080a010ca54b221969b
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2018-02-08 06:05:16 +00:00
David Schulz
6c507beb1e Debugger: add dumper for Kit and ToolChain
Change-Id: I48b5f686aa268a554922b495b416724ddc8973f2
Reviewed-by: hjk <hjk@qt.io>
2018-02-02 14:39:27 +00:00
hjk
58f457f405 Debugger: Also extract Qt namespaces for libinfixed Qt build
GDB-only for now.

Task-number: QTCREATORBUG-19620
Change-Id: I2ca3a927623ec0df742fed65048e8a3bcfa5cee2
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2018-01-22 13:59:42 +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
Oswald Buddenhagen
777ca8e655 Merge remote-tracking branch 'origin/4.5'
Conflicts:
	src/plugins/qmakeprojectmanager/desktopqmakerunconfiguration.cpp
	src/plugins/qmlprofiler/qmlprofilertraceclient.cpp

Change-Id: I94647f59d7a9df48168ac066555afe80f5f9b91f
2017-12-21 13:20:24 +01:00
David Schulz
b2052561cc Debugger: improve evaluate expression with cdb
Replace Evaluate with AddSymbol and create a PyValue representing
that expression

Change-Id: Ibb8ab70c41df81e9d7d683b633a070caa03036d3
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-12-20 09:32:18 +00:00
hjk
79ba461a46 Debugger: Suppress variables from unrelated scopes
Change-Id: Ib7ae6c2af37a2cdb7dfd63d0622e68b55f7a778d
Task-number: QTCREATORBUG-19445
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-12-14 13:40:08 +00:00
hjk
83c13ff191 Debugger: Combine the InferiorShutdown{Ok,Failed} states
... into a InferiorShutdownFinished.

Change-Id: Icb5394f38f52f7cf300dc83f4eb8f2f0777bbcba
Reviewed-by: David Schulz <david.schulz@qt.io>
2017-12-14 11:26:52 +00:00
hjk
585b2c62d5 Debugger: Combine the EngineShutdown{Ok,Failed} states
... into a EngineShutdownFinished. They were never handled differently,
and the only option is to proceed to DebuggerFinished anyway. So
simplify the state machine a bit.

Change-Id: Ied3be86fff6750abca578dc6788e4be1d895692b
Reviewed-by: David Schulz <david.schulz@qt.io>
2017-12-14 09:42:44 +00:00
Christian Stenger
1d2049bffc Dumper: Fix typo
Change-Id: I2d7bbe88c4d1552dba505003020c86a406821f72
Reviewed-by: hjk <hjk@qt.io>
2017-12-13 05:43:35 +00:00
Eike Ziller
e2baa116ca Merge remote-tracking branch 'origin/4.5'
Change-Id: I86852d289c22210a0439e8e297819dc7276a96de
2017-11-29 09:56:22 +01:00
Christian Stenger
b0cbed9a17 Dumper: Do not use enumHexDisplay unconditionally
This function is available only for GDB. When using CDB or LLDB
this ends up in an exception.

Change-Id: Ie1835c1b95cac99e3f996077f6a3d80b5591c145
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2017-11-27 12:48:26 +00:00
Eike Ziller
b05637131c Merge remote-tracking branch 'origin/4.5'
Conflicts:
	src/plugins/qmlprofiler/qmlprofilerclientmanager.cpp

Change-Id: I726babe61e28db14d06a6a1a5c570e148745b458
2017-11-09 14:32:00 +01:00
David Schulz
e6b7d35bb0 Debugger: Fix enum dumper for cdb and lldb
Change-Id: Ieea120c00553ebe88c2daca0756a1eadba5991a3
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-11-07 14:55:13 +00:00
Orgad Shaneh
a6cda6dbe0 Merge remote-tracking branch 'origin/4.5'
Change-Id: I16e3bb9ee3a1e6dc6edf7a65f8a137a25cda4fe3
2017-11-05 16:49:17 +02:00
Tor Arne Vestbø
357caf3b44 Allow LLDB pretty printer to skip resolving type across all modules
The lookup is quite slow, and will hang the lldb debugger,
causing Xcode to hang too.

Change-Id: Ic6579a5de9404c0040d3d304169f18109f61d2ac
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-11-03 13:40:16 +00:00
Orgad Shaneh
d6ff82a244 Dumpers: Fix CPlusPlus::IntegerType dumper
Change-Id: Ia21caf874f927428c27f6ad21da031b3a32146ea
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-11-02 14:04:44 +00:00
hjk
58c329cd03 Debugger: Re-introduce namespace detection for Qt 4
It's apparently still in use.

Change-Id: I89d04c6b3afff8014334e3543c3f3b77bf52d130
Task-number: QTCREATORBUG-19135
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-10-23 09:51:45 +00:00
hjk
5b2a46e3a0 Debugger: Fix typo in namespace extraction debugging code
Change-Id: I24e70a25105b9fbef625ca633ebdf715749f10f3
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-10-23 07:23:51 +00:00
Eike Ziller
cfdea6b9c2 Merge remote-tracking branch 'origin/4.4'
Change-Id: I7bf72444b19db20fcc7dc2c9d1f02ec2b30b658f
2017-09-25 11:00:25 +02:00
Filipe Azevedo
846d89811a Fix unstoppable debugger
For some reason sometimes a user stop request with lldb can trigger
a spontaneous stop, avoiding the debugger to stop correctly.
This change fix the issue by emitting the correct states from
lldbbridge.py.

Change-Id: Ib8a2f4875824f4fff426b2d5e0fc4a79ce48c68e
Reviewed-by: hjk <hjk@qt.io>
2017-09-20 09:49:53 +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
360609eb7a Debugger: Add to solib-search-path, don't replace it
Task-number: QTCREATORBUG-18812
Change-Id: I0fb8d81d55e9928bd3825c510a11ab426ec082c6
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2017-09-13 10:09:28 +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
Eike Ziller
a0a42ff7bd Merge remote-tracking branch 'origin/4.4'
Conflicts:
	src/plugins/debugger/gdb/gdbengine.cpp

Change-Id: I8a7c8ca07d6d6005f5d39b8f1477ebbc7a299fbf
2017-08-17 17:29:25 +02:00
Leena Miettinen
a951448c4d Doc: Add step list for adding custom debugging helpers
Change-Id: I01aba948b9dfd55a58cae5fdd51e1588bb675e6a
Task-number: QTCREATORBUG-18740
Reviewed-by: hjk <hjk@qt.io>
2017-08-17 12:43:16 +00:00
hjk
a0c26a9279 Debugger: Adjust a comment on the used of dumpers for CDB
Change-Id: Iac11c9f9415de3c8128f271fdbefdf78877d2755
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2017-08-16 09:04:45 +00:00
hjk
609b4170f3 Debugger: Show guts of QString::Data when requested
If people already decide to drill into QString they are likely
to want to be able to drill into QString::Data, too.

Change-Id: I90cf1bd9b7bed66805fc7493cf1595d27ef3b129
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2017-08-15 13:38:03 +00:00
hjk
90de4bae40 Debugger: Hex-encode LLDB disassembler source lines for transport
Unescaped quotes break the protocol.

Task-number: QTCREATORBUG-18721
Change-Id: I235c4dc33e599769bc854423ef4a7dc6f46bf58e
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2017-08-15 08:44:27 +00:00
Eike Ziller
d8fd5292f1 Merge remote-tracking branch 'origin/4.4'
Conflicts:
	src/tools/clangbackend/ipcsource/clangiasyncjob.cpp
	src/tools/clangbackend/ipcsource/clangjobrequest.cpp
	src/tools/clangbackend/ipcsource/clangjobrequest.h

Change-Id: Ib8602530663813ade418f995dfd2a736908cfe75
2017-08-15 10:07:51 +02:00
hjk
e5631e2ebe Debugger: Fix location marker update for LLDB Jump to Line
Change-Id: I93c46eabb8c91c3e7158454f04cf027d55ece621
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2017-08-14 12:48:32 +00:00
hjk
6ae77f7daa Debugger: Fix editing of std::{w,}string, QString, QByteArray
... as well as std::vector and QVector

Change-Id: I7fd33be9917a17414149813c28316166b8de9be7
Task-number: QTCREATORBUG-18681
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-08-09 05:34:11 +00:00
hjk
376b1f32dc Debugger: Make std::complex values expandable
Change-Id: Idecd15378cfe2a0026ad5b9317ee7ad791a5ff47
Task-number: QTCREATORBUG-18680
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2017-08-08 09:17:02 +00:00
Eike Ziller
1feb5c604d Merge remote-tracking branch 'origin/4.4'
Change-Id: I02e54f45d233b89ddaee9c87da9b9af2a56374b8
2017-07-21 10:08:05 +02:00
hjk
1d682f2144 Debugger: Don't hard-fail on missing Python json module
Only needed for native combined debugging.

Task-number: QTCREATORBUG-18577
Change-Id: I7c5d877b9601e77ab8de251305db829a07675f8d
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-07-20 11:23:32 +00:00
Thiago Macieira
d6b6a88753 Debugger: print QFlags and bitfields as hex
It's a lot more useful to see in Qt Creator:
  QAbstractFileEngine::FlagsMask (0xff00000)

Than
  QAbstractFileEngine::FlagsMask (267386880)

Change-Id: I8d96dea9955d4c749b99fffd14cd690574b433e5
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2017-07-11 23:57:19 +00:00