Commit Graph

1394 Commits

Author SHA1 Message Date
David Schulz
d91d4aa759 Dumper: remove unused imports
Change-Id: I447c9697dbd631ab26358c193c274484e70a908d
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-03-02 12:13:34 +00:00
David Schulz
0776340ad8 Dumper: unify Codestyle
generated with autopep8 and the introduced setup.cfg

Change-Id: I5b55a7937f2cde81be59d2b434e94ada1a4af5ab
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-02-28 08:35:05 +00:00
David Schulz
4422805cec Dumper: replace xrange with range
Change-Id: I09b3dd4da548643e927dbc5bb3130c28a746396b
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2020-02-26 10:26:55 +00:00
David Schulz
44db8e2eab Dumper: replace import * with explicit imports
Using imports like

 from foo import *

is considered as bad habit and it reduces
static code analysis usability.

Change-Id: I56a175f4c7b231e2b8e486bd9d1c65543720f56a
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-02-25 13:22:50 +00:00
David Schulz
e17c96cf11 Dumper: move global enums and functions to utils
Change-Id: I11f5f0d970cd23a5fd907d33daa3cb8a441d0c58
Reviewed-by: hjk <hjk@qt.io>
2020-02-24 07:47:40 +00:00
Andre Hartmann
710836f222 Debugger: Fix std::optional dumper
Tested under Ubuntu Linux 18.04.1
with gcc 7.4.0 and gdb 8.1.

Started-by: Tobias B. on Jira
Fixes: QTCREATORBUG-22436
Change-Id: Id75c817f26bf16e4d93332ab24068cacbe5d9d8e
Reviewed-by: Marcel Petrick <mail@marcelpetrick.it>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2020-02-23 14:33:45 +00:00
Eike Ziller
bd5dae90ad Merge remote-tracking branch 'origin/4.11'
Conflicts:
	share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5informationnodeinstanceserver.cpp

Change-Id: I5e424e34db619bb769c7abc1e8651b7b40210839
2020-01-20 09:59:27 +01:00
Alexandru Croitor
850ae600fb [lldb] Fix lldbridge.py to work in standalone lldb on macOS 10.15
Change-Id: I6220e426e3556d68dcb318d709f3573601c1aa96
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-01-16 09:38:16 +00:00
Orgad Shaneh
5872c60a45 Dumper: Fix syntax error
Change-Id: I8e611b1cb358872d9e0c7302ed8a4d3e0b7d9f3c
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-01-16 08:41:59 +00:00
Eike Ziller
1c37415604 Merge remote-tracking branch 'origin/4.11'
Change-Id: Ib47833b23e90c5f08b318d3d4985a4f3a450ee4b
2020-01-15 07:21:52 +01:00
Christian Stenger
fefdbdfcd8 Debugger: Do not waste CPU when using LLDB
Fixes: QTCREATORBUG-23311
Change-Id: I5b1c40663c7977322e806af2e0393a3730e70049
Reviewed-by: hjk <hjk@qt.io>
2020-01-14 10:02:13 +00:00
Eike Ziller
69bcf7ca60 Merge remote-tracking branch 'origin/4.11'
Change-Id: Ica0d173a08ff3f0296e875aa324d5bb6974bd90f
2020-01-08 07:13:32 +01:00
hjk
dff4469baf Debugger: Use a more convenient way to create timing samples
Change-Id: I4ca983957c81a1f5f963a85b16a2d1b255b2cd2d
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2020-01-07 12:14:27 +00:00
Eike Ziller
e16876df0c Merge remote-tracking branch 'origin/4.11'
Change-Id: Ieb0bb1ebab9a5efb42d15bbeac2cd4c46a6de962
2019-12-18 09:14:14 +01:00
hjk
0cdea40606 Debugger: Fix std::string dumper for GCC 9
Fixes: QTCREATORBUG-22753
Fixes: QTCREATORBUG-22680
Change-Id: I75e2855d27bc2b83880379fee2364586b9d4a90e
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2019-12-17 08:44:14 +00:00
Orgad Shaneh
49f6b0146a Merge remote-tracking branch 'origin/4.11'
Conflicts:
	cmake/QtCreatorIDEBranding.cmake
	qbs/modules/qtc/qtc.qbs
	qtcreator_ide_branding.pri
	src/plugins/mcusupport/mcusupportrunconfiguration.cpp
	src/plugins/python/pythonproject.cpp
	src/plugins/qmakeprojectmanager/qmakestep.cpp
	src/plugins/qmlprojectmanager/qmlproject.cpp
	src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp

Change-Id: I22507be28fd80c49c9fee0dff5937a40db176a82
2019-12-07 18:39:54 +02:00
Nikolai Kosjar
26b34a0cd4 Debugger/Dumper: Fix dumping CPlusPlus::Token
Change-Id: I368f5227ecb675a653f65d76e83622305390b5ff
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2019-12-04 07:38:01 +00:00
Christian Stenger
bcde926257 Debugger: Stop cleanly after post mortem debugging
..instead of trying to start over. Starting over may work
but may also end up in strange issues which must get
handled on the user site otherwise.
Especially relevant for pyside projects that are using
QApplication and similar where the old application
instance has to be destroyed before another one can be
created.

Change-Id: I6af132da8499ef4ed983491cdc423fa73ea9ba32
Reviewed-by: hjk <hjk@qt.io>
2019-11-13 05:42:19 +00:00
Christian Stenger
49930aa5f9 Debugger: Improve pdb debugging
When a script used __file__ to refer to other
files by constructing relative paths it ended
up trying to use a file relative to the pdbbridge
instead the original python file.
Fix this by bringing the bridge closer to the
original pdb code.

Change-Id: I22dda440c78349bfd3dcf4ce748042cc77eb4bee
Reviewed-by: hjk <hjk@qt.io>
2019-11-12 12:36:45 +00:00
Eike Ziller
fcb12a275f Merge remote-tracking branch 'origin/4.10' into 4.11
Conflicts:
	cmake/QtCreatorIDEBranding.cmake
	qbs/modules/qtc/qtc.qbs
	qtcreator_ide_branding.pri
	src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp
	src/plugins/projectexplorer/deploymentdata.cpp
	src/plugins/projectexplorer/msvctoolchain.cpp

Change-Id: I64c304fc71435629a6a0060a9df71e8952699508
2019-10-16 15:27:22 +02:00
Michael Weghorn
e2e96cab52 GDB: Handle 'pretty_printer.to_string()' returning None
The documentation for the GDB pretty printer function
'pretty_printer.to_string' says [1]:

> [...]
> Finally, if this method returns None then no further
> operations are peformed in this method and nothing is printed.
> [...]

Therefore, skip this part if the printer's 'to_string' method returns
'None' and only fall back to assuming LazyString otherwise.

This e.g. fixes the std::pair pretty printer (for gcc-9 libstdc++6) for
which "<not accessible>" was shown previously in the debugger's
locals/expression view. Now it shows the object's address and allows
expansion to see the values for the 'first' and 'second' members.

[1] https://sourceware.org/gdb/onlinedocs/gdb/Pretty-Printing-API.html

Change-Id: I33b1af82f731c347314af76c533b096b8a5afe21
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2019-10-16 08:23:30 +00:00
hjk
3e2e0c6edc Debugger: Use GDB's own pretty printers more cautiously
Looks like there is no attempt made on the GDB/libstdc++ side
to recognize uninitialized objects, so we cannot convert
"all 932 million children, I swear" to a list.

Task-number: QTCREATORBUG-22887
Change-Id: I3bf7e53c8b11ece3e1182d8446e959a66a41665a
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2019-09-30 06:27:24 +00:00
Eike Ziller
8263f73a4a Merge remote-tracking branch 'origin/4.10' into 4.11
Change-Id: Iad66b08f8d6d7f14319674ae6bb26cdba43b3bfa
2019-09-26 14:59:33 +02:00
hjk
08149a7c34 Debugger: Improve assignment to simple expressions with LLDB
Task-number: QTCREATORBUG-22696
Change-Id: Ifa084046ff83ba071c9e96a4221d7b4a09bfc22f
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2019-09-26 08:48:54 +00:00
hjk
4013f0cdf0 Debugger: Use Python 3 prints also in pure LLDB bridge code
Task-number: QTCREATORBUG-22955
Change-Id: I762acd289c50fe5817b3e6e915f35c2388c74d44
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
(cherry picked from commit 7f29fa2030)
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2019-09-25 13:18:06 +00:00
Christian Stenger
9a5826d19c Debugger: Fix debugging with LLDB 1100.x
Tweak handling for LLDB provided by Xcode 11 slightly,
as the state handling of the process went astray when
using the debugger Python 3 based.

Task-number: QTCREATORBUG-22955
Change-Id: Ie070049d210a570993507ed940d141237aab89ce
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2019-09-25 13:17:53 +00:00
Eike Ziller
0491c1c06c Merge remote-tracking branch 'origin/4.10'
Change-Id: I4a22cdf4d7d5aab2083d5f9f7baaa38e510f83fd
2019-09-23 12:31:58 +02:00
hjk
89a36c7232 Debugger: Show FORTRAN strings
Fixes: QTCREATORBUG-22976
Change-Id: Ib435b2692301fe2e2d3378623e99bbcf16e27e46
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2019-09-23 08:50:17 +00:00
hjk
54e3d06c5e Debugger: Do not add spurios empty element to LLDB args
Fixes: QTCREATORBUG-22975
Change-Id: Ibd5db32af9adb90f5d191e4fdcd2be751bd2b412
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2019-09-23 08:02:19 +00:00
hjk
7f29fa2030 Debugger: Use Python 3 prints also in pure LLDB bridge code
Task-number: QTCREATORBUG-22955
Change-Id: I762acd289c50fe5817b3e6e915f35c2388c74d44
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2019-09-17 07:26:17 +00:00
hjk
db4cc731bb Debugger: Allow timestamp reporting on a sub-item level
Task-number: QTCREATORBUG-22896
Change-Id: I41252868e14f1e4d5dddc0d1c17c097cba6f5fe5
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2019-09-13 09:07:18 +00:00
hjk
c485b24011 Debugger: Save a few cycles in the QPointer dumper
Task-number: QTCREATORBUG-22896
Change-Id: If91e2b8a0869052ae07eb4c9f0df015874a5f992
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2019-09-12 15:27:42 +00:00
Eike Ziller
8df0653bf8 Merge remote-tracking branch 'origin/4.10'
Conflicts:
	cmake/QtCreatorIDEBranding.cmake
	qbs/modules/qtc/qtc.qbs
	qtcreator_ide_branding.pri
	src/plugins/projectexplorer/gcctoolchain.cpp
	src/plugins/qmldesigner/components/stateseditor/stateseditormodel.cpp

Change-Id: Iffdf48e782a734107ea170ebb3812e997cea0e7b
2019-09-12 09:08:04 +02:00
David Schulz
d72632acd6 Debugger: add dumper for std::initializer_list
Change-Id: I223182cecf1f04dbc9908dc993a8800c1633c48b
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2019-09-09 11:35:24 +00:00
Eike Ziller
38feea7e25 Merge remote-tracking branch 'origin/4.10'
Change-Id: Idfe86eb91c7a9a16f15d528a2a03beecca1cb208
2019-08-27 09:47:14 +02:00
Dmitry Nuzhdin
309e345818 Debugger: Fix mapping std::set in Locals window via gdb
Currently QtCreator incorrectly shows content of a std::set.
For example set {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
is shown as {0, 1, 2, 1, 2, 1, 2, 1, 2}.

Change-Id: Idaff66451827657ef129aa3d27895c43938e6fdc
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: hjk <hjk@qt.io>
2019-08-26 16:11:23 +00:00
hjk
04eb17d57e Debugger: Display 'string' instread of 'NimStringDesc' for Nim strings
Change-Id: I2ecf09eb0b3d01c22b670a8dc642cf07eee2cede
Reviewed-by: Filippo Cucchetto <filippocucchetto@gmail.com>
Reviewed-by: hjk <hjk@qt.io>
2019-08-23 08:39:58 +00:00
Eike Ziller
2521023627 Merge remote-tracking branch 'origin/4.10'
Conflicts:
	cmake/QtCreatorIDEBranding.cmake
	qbs/modules/qtc/qtc.qbs
	qtcreator_ide_branding.pri

Change-Id: I7d9ecd6d8518699d848ac72a62e5c35c2cc2751f
2019-08-07 08:09:45 +02:00
hjk
5b33660a57 Debugger: Allow spaces in arguments with LLDB
Change-Id: Iebc6f7975e9a306805911ed18eb4689074abd891
Task-number: QTCREATORBUG-22811
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2019-08-06 08:07:25 +00:00
Eike Ziller
4608e84d9c Merge remote-tracking branch 'origin/4.10'
Change-Id: I633cb7dce95e107d0e0c62dc49a7ebacad0fbbe5
2019-08-05 08:45:11 +02:00
Christian Stenger
32ce4d5071 Lldb: Fix event handling for newer Xcode and faster machines
If the system or the running inferior produces output while
fetching data the output did interfere with the state handling
of the debugger engine which in turn lead to a complete
inconsistent state of the debugger where the states of the
debugger bridge and the debugger engine (QC internal) assumed
complete different states.
Circumvent by explicitly ignoring the state for inferior output
on stdout or stderr.

Change-Id: I81aa0bacd41de4266a9278c66fed908dd72c9d44
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2019-08-02 12:29:35 +00:00
Eike Ziller
e5543eaebf Merge remote-tracking branch 'origin/4.10'
Change-Id: Id9cab641788f93cda9a81da9f156614b91d87b2a
2019-08-01 11:58:56 +02:00
hjk
ae66f63390 Debugger: Disable QObject connection and signal display
Besides the announced change to QObject guts in a5a859e72 there has been
at least 6e0b5dadc and possibly more, so give up here.

Change-Id: I84201cef9f2a7515f082f4c3310bdc96f7a4216d
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2019-07-31 12:18:02 +00:00
hjk
be67ee75c5 Debugger: Fix QStandardItem dumper for Qt >= 5.9
Change-Id: Ib0dab191705982cf92d9599b8e627b41f0e187cc
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2019-07-31 08:10:21 +00:00
hjk
b2daf07573 Debugger: Fix QFileDumper
Some QRingBuffer member got removed in 8f92baf5c9.

Change-Id: Ie0066db3b61bff25751a4886cb4b584cc4db49bf
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2019-07-31 07:28:02 +00:00
Christian Stenger
e071c6facb Dumper: Add pylintrc file
...to suppress some common warnings generated from pylint
or respectively pyls.
We usually fail to follow the snake_case naming style
and we tend to have only limited documentation of these
files.

Change-Id: Iaecf767fac68f3be8ad88ccff91a0f5ac24a43e4
Reviewed-by: hjk <hjk@qt.io>
2019-07-29 10:03:32 +00:00
Eike Ziller
8e376ab340 Merge remote-tracking branch 'origin/4.10'
Conflicts:
	src/plugins/baremetal/iarewtoolchain.cpp

Change-Id: I483e81d7e920e724fb7cde84a8f6fa9bce4cd518
2019-07-25 09:38:09 +02:00
Christian Stenger
24d9ad7c11 Dumper: Adapt QC internal dumper to renamed class
FileName is now FilePath. Follow the approach that is used
internal to display the summary of the file path as the
content of its URL if non-empty and the content of the file
otherwise.
Keep the old approach as well as it can still be used,
even in new code thanks to a using declaration and fallback
to the old approach if debugging old source.

Change-Id: I37c621e451fea92ca34db9a63b5ca26b3bdc201c
Reviewed-by: hjk <hjk@qt.io>
2019-07-23 12:26:09 +00:00
hjk
fa9141acdd Debugger: Make example setup code more complete
Change-Id: I2488a84077d7c88d3a14c43bc4f8a9159a866b1c
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2019-07-23 10:22:32 +00:00
hjk
2abdc54147 Debugger: Avoid infinite loop in dumper
Change-Id: I71e89574a9eecc079b4d8e91da352fd2b7b0d9ab
Done-by: Xander (@bugreports.qt.io)
Task-number: QTCREATORBUG-22637
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2019-07-23 06:27:49 +00:00