Commit Graph

286 Commits

Author SHA1 Message Date
hjk
18b91ae4ec Debugger: Move putPlainChildren() to Dumper base
It's reusable...

Change-Id: I1a0f40b9b3bbecf99024d3a2fd5148baf604109b
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-04-02 11:03:43 +02:00
hjk
50459e5713 Debugger: Use target not host architecture in QDateTime dumper
Task-number: QTCREATORBUG-11164

Change-Id: I83bd56f91c1e5342e1a755638c794dde7f5b345a
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-04-02 11:00:22 +02:00
hjk
f92e04374a Debugger: Speed up Qt namespace detection in non-Qt projects
Task-number: QTCREATORBUG-10610
Change-Id: Idc5a93625fa4a148864709a1cefbcbbab877a8a2
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-03-27 16:53:11 +01:00
Orgad Shaneh
311868a696 Debugger: Support p1 on Windows
Change-Id: Id634dc37b2708f9cb88e5b01ff758d5adcde215e
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-03-26 15:15:57 +01:00
hjk
5d1bc3859d Debugger: Add simple QV4::String dumper
Change-Id: Ide277128d30c4dcc5c396441ebd6e40aa3fc8b51
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2014-03-18 10:32:31 +01:00
hjk
af43f684bd Debugger: Consolidate metaObject recognition
Same code can be used for LLDB and GDB...

Change-Id: I07aae10fec28f01425cc13285504f57aef3afd25
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-03-12 14:31:36 +01:00
hjk
8303f793ab Debugger: Force plain transport for non-ASCII char data
Task-number: QTCREATORBUG-11670
Change-Id: Iec5d3c7e73139414c51216ed6767c4524e859329
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2014-03-12 10:28:54 +01:00
hjk
b76fb6baba Debugger: Comment out unused threadname code
This should be re-vived at some time for MinGW, until then making
clear that it is not used does not hurt.

Change-Id: I365c9fb1f859223da2f96b72a33419313438d83b
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2014-03-11 14:44:25 +01:00
Christian Stenger
660014f098 Debugger: Fix typo
Change-Id: Iba23331b4a6a17c690a6c630e1fbb29d530cfb30
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-03-11 13:21:47 +01:00
Christian Stenger
f8afa89ba7 Tests: Fix QThread dumper for old gdb (~7.4)
Change-Id: Ifbaf8f326744e9e271b407d8650ffcc47b890889
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-03-10 17:57:09 +01:00
Orgad Shaneh
5bb72be900 Debugger: Print traceback on dumper exception
Change-Id: I652d31b111eab464bf3301968fe273d24f0dad11
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-03-10 10:05:02 +01:00
hjk
3a988262de Debugger: Speed up Qt version extraction
Change-Id: I20494f4cae410d430049b3a5e4ce397ac3917ddb
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-03-07 18:56:21 +01:00
hjk
dbc474ef71 Debugger: Speed up Qt namespace extraction with GDB
Change-Id: Ic2a1296828d5aceb6c0aae0edbd165e3d0e86741
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-03-07 17:59:18 +01:00
hjk
6975be4f54 Debugger: Don't memoize guessed Qt versions too quickly
There might be better data after more shared objects are loaded.

Change-Id: Ib81226b4cafe0d067d62087e320413f8d070bee8
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-03-07 14:24:49 +01:00
hjk
b7ebfd274f Debugger: Move some common bridge code to dumper base
Change-Id: I9fd988c84bff5e02bc45478994f27a7bddb3358b
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-03-07 13:14:13 +01:00
hjk
9bb0d18872 Debugger: Fix some fallback in type lookup
Just in case. I can't trigger the codepath anymore.

Change-Id: Ia1cecca7a9628b36128fa6efbb2f6ffbc4bef4b2
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-02-28 17:15:37 +01:00
hjk
d190263e9a Debugger: Re-work qt namespace detection with gdb
We can always use python now. Avoids one roundtrip on startup,
a temporary file, and only does it when needed.

Change-Id: Id32a812bec477307da1d93950f7758f3a5699464
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-02-28 12:16:30 +01:00
hjk
762f3e32fd Debugger: Fix metaobject lookuop for older versions of GDB
Symbol.value is not available in 7.4

Change-Id: I86e00cbeef61669ca5950e35a7b0aed86dcb2f87
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-02-28 12:16:14 +01:00
hjk
9e3005ee95 Debugger: Rework gdb Q_OBJECT detection (again)
We need to filter out Q_GADGETS

Change-Id: Id0ec18188e5b40506d69908e7218e3971cbddad9
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-02-27 12:56:15 +01:00
hjk
4ee7bdc562 Debugger: Some cleanup in gdbbridge
Change-Id: Iecea0ee1d66cff3a4dbe2c9605babb2e49d0c93a
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-02-25 17:46:48 +01:00
hjk
7e5d67025c Debugger: Remove some workarounds for older GDB versions
... and the Python magic needed. This also helps to remove
module dependencies that break current QNX setups.

Change-Id: I6554cf0f344b4c3788681389f2c972e49c9851b6
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Reviewed-by: Cristian Adam <cristian.adam@here.com>
Reviewed-by: Martin Boháček <mbohacek@blackberry.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-02-21 13:33:21 +01:00
hjk
b9834e4092 Debugger: Move special argv display to DumperBase and use for LLDB, too
Change-Id: Ie1913f5a5062d230e02a4f1738ca14bd6cebc55c
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-02-04 17:02:38 +01:00
hjk
b2874f3bb3 Debugger: Make some gdb dumper work for libc++
Better user experience on Mac.

Change-Id: Ice1455685e0e9bbe0d45cde20563929b7370695d
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-31 17:11:02 +01:00
hjk
d40ee224d4 Debugger: Handle extraction of data from temporary SBValue
Change-Id: I5d79b59e971933fef8ef94c20333035188d33a57
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-30 16:01:43 +01:00
hjk
c55ac5fb6f Debugger: Use more robust way to extract Qt version.
Also bump the fallback guess to Qt 5.3.

Change-Id: I8e9be14a34cdf6c6330de123cbed7243e0df968a
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-30 13:08:58 +01:00
hjk
d37e890a1d Debugger: Show name also for QObject subclasses without Q_OBJECT macro
Change-Id: Ifabf3cc68751a06c15fc1a5a05cad5e5a64c8775
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-29 13:56:01 +01:00
hjk
3bb1d048cb Debugger: More robust inferior calls on temporary values
Change-Id: Ie93cbf772bbda40d2aa085064cf9ce7fe208e591
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-29 10:53:11 +01:00
hjk
51b743a2d1 Debugger: Some dumper robustification
Change-Id: Id0af97ed54dd936a68696e66c3fcf4dcbf2645e8
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-25 15:39:37 +01:00
hjk
392123388a Debugger: Some qobject dumper speedup
Slight change in behavior: Only classes with Q_OBJECT
macro are now recognized as QObjects.

Change-Id: If2df6c31ef6d098944e317e27dfcbc21d60f61ee
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-24 18:27:00 +01:00
hjk
cc3facd944 Debugger: Enable QObject property display with LLDB
Finally.

Change-Id: I3257ffbb23ca2ea4eec9a97335a95580c9c4482b
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-24 17:36:27 +01:00
hjk
2e7479aef0 Debugger: Add data extraction for dumper inferior call results.
Change-Id: I868be727c48cb3aa570f196dadde71706df01596
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-24 16:46:51 +01:00
hjk
2b9a00f172 Debugger: Streamline encoding handling
Replace base64 with hex encoding, centralize
conversions, drop dependency on binascii module.

Task-number: QTCREATORBUG-11317

Change-Id: Id3d419d4fe8f75710352f4bc0e6310be849426bd
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-23 16:50:08 +01:00
hjk
376f58df34 Debugger: Fix QObject/property dumper
Change-Id: Ied68fd07e077a185223a68cc504fff5a5b9391ac
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-20 17:08:53 +01:00
hjk
239dee6e9d Debugger: Add a backend specific Dumper.hasChildWithName
Change-Id: I89432915f2b6eb52e706d344b9e7998e1f96ab1f
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-15 18:12:23 +01:00
hjk
4974e24615 Debugger: Move dumper enum constructions to backends
Different quirks on either side...

Change-Id: Ic8d0e66736beb109e9d76da62b73a4d0dd4f38db
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-10 20:04:40 +01:00
hjk
8ebb6aa9f6 Debugger: Extend use of Dumper.putPlotData
Make backend-agnostic and use it for QFiniteStack and
std::{array,vector}

Change-Id: I1702d4290ee24c957f77b539591313ac83021003
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-08 18:02:29 +01:00
Eike Ziller
236ea9efb9 Merge remote-tracking branch 'origin/3.0'
Conflicts:
	share/qtcreator/debugger/dumper.cpp
	share/qtcreator/debugger/dumper_p.h
	share/qtcreator/debugger/test/main.cpp
	src/plugins/debugger/gdb/classicgdbengine.cpp
	src/plugins/debugger/gdb/pythongdbengine.cpp
	src/plugins/debugger/lldblib/guest/lldbengineguest.cpp
	src/plugins/debugger/lldblib/guest/lldbengineguest.h
	src/plugins/debugger/lldblib/guest/main.cpp
	src/plugins/debugger/lldblib/ipcengineguest.cpp
	src/plugins/debugger/lldblib/ipcengineguest.h
	src/plugins/debugger/lldblib/ipcenginehost.cpp
	src/plugins/debugger/lldblib/ipcenginehost.h
	src/plugins/debugger/lldblib/lldbenginehost.cpp
	src/plugins/debugger/lldblib/lldboptionspage.cpp
	src/plugins/qbsprojectmanager/qbsstep.cpp
	src/plugins/qbsprojectmanager/qbsstep.h
	src/plugins/qmlprofiler/canvas/qdeclarativecanvas.cpp
	src/plugins/qmlprofiler/canvas/qdeclarativecanvas_p.h
	src/plugins/qmlprofiler/canvas/qdeclarativecontext2d.cpp
	src/plugins/qmlprofiler/canvas/qdeclarativecontext2d_p.h
	src/plugins/qmlprofiler/canvas/qmlprofilercanvas.cpp
	src/plugins/qnx/blackberrycheckdevmodestep.cpp
	src/plugins/qtsupport/debugginghelper.cpp

Change-Id: Ie9fd0a885fb6264a6a8a72daee071b75bcbd2e9d
2014-01-08 11:01:06 +01:00
hjk
1a7b8654e5 Debugger: Fix importing plain dumpers with newer gdbs
Change-Id: Id0441ed8bb4ca1a116157e033bd711ece0e2b2ed
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-01-07 16:47:52 +01:00
hjk
56691bcd60 Debugger: Fix display of std::array<some_struct>
Change-Id: Ib2aa41d6a059246e15d1f42831bdec96c235161e
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-01-07 10:37:17 +01:00
hjk
f5544d4c2d Debugger: Fix off-by-one when displaying "plottable" data
Change-Id: I93b3ba02e0d2ebde829ec8120a847429ca712450
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-01-06 13:40:37 +01:00
hjk
c1fc3e5ded Debugger: Also display addresses of base classes
Rarely needed, but cheap to produce and nice-to-have in some cases.

Change-Id: Ib28e34a8085a4e0ed943646321843eea1bf4e138
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2013-12-16 13:03:03 +01:00
Martin Bohacek
d99d262427 Debugger: fix duplicated "," in response to locals + watch query
Change-Id: I509f39a6423a572219d941f10ca429914ee61996
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-12-06 10:37:43 +01:00
Eike Ziller
0e4de8c108 Merge remote-tracking branch 'origin/3.0' 2013-11-29 11:50:41 +01:00
hjk
2e8347a8c8 Debugger: Remove unused gdbbridge.Dumper.nolocals
Change-Id: Ic24cb5ffb8d1a93372c3661a8b7c91f11fe4e9ad
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-11-28 15:49:52 +01:00
hjk
4081317470 Debugger: Fix check for QObject-ness.
Change-Id: Idd33e104e6e80f9b1f87af9409db810c2c37a4a2
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-11-28 11:45:19 +01:00
Ulf Hermann
a8b215dcf1 Debugger: Correctly identify derived classes from references
Previously the correctly gdb-identified dynamic types were overwritten
with the value's static type. This is probably because the dynamic type
doesn't include the "&" for "reference". That, however, can easily be
fixed by just appending "&". As we're only handling references there it
should be safe to do so.

Task-number: QTCREATORBUG-10888
Change-Id: I7310916ce662956e66491423ad26658c32c8776b
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-11-27 13:41:44 +01:00
Eike Ziller
559e66cb35 Merge remote-tracking branch 'origin/3.0' 2013-11-22 09:11:51 +01:00
hjk
1e9adb22b0 Debugger: Fix editing of std::{string,vector} values
Change-Id: I3ff3f032af9ca54f2c48fe6e611fee73691e5ea2
Reviewed-by: Ulf Hermann <ulf.hermann@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-11-21 17:04:55 +01:00
hjk
551b3ed368 Debugger: Disable theadname extraction (again)
This only affects MinGW where the feature triggered QTCREATORBUG-5200 in
the past. Right now the performance impact of c9c0f80 (fixing
QTCREATORBUG-10826) is unclear and no time to investigate. Trading the
feature for robustness seems in order. Power-users can remove the return
line in the script to get it back.

Change-Id: If5a30808b72969493e5f40dd0fcbafdcccec343e
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2013-11-20 12:32:11 +01:00
Eike Ziller
f61e643c95 Merge remote-tracking branch 'origin/3.0' 2013-11-20 11:25:36 +01:00