Commit Graph

179 Commits

Author SHA1 Message Date
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
hjk
c9c0f80147 Debugger: Fix threadname display
We probably should completely skip the code in the cases where Qt
itself already propagates the object name to the underlying threads.

Task-number: QTCREATORBUG-10826
Change-Id: I7e9e5b7c990a270c8563e40c1fe1e900724c1e5c
Reviewed-by: Ryan May <ryan.may@eecradar.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-11-19 18:02:40 +01:00
Eike Ziller
8fe04ce0ad Merge remote-tracking branch 'origin/3.0' 2013-11-19 07:41:47 +01:00
hjk
7f6c793f75 Debugger: Fix passing of maximum string length
Change-Id: I96498b93bb1632de8ca960ae24ec54e31f8c0897
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-11-17 18:28:51 +01:00
Eike Ziller
4538ccb46c Merge remote-tracking branch 'origin/3.0'
Conflicts:
	share/qtcreator/debugger/gdbbridge.py

Change-Id: I32d8158c475f927b50ef06fde9ab8189ebdbcbbc
2013-11-15 10:26:57 +01:00
Martin Bohacek
c4648e9797 Debugger: Python dumper support for QNX targets on arm/x86.
gdbbridge.py + dumper.py:
    added detection on QNX target and ARM arch
    added detection of Qt 3 support
    fixed detection of Qt version

qttypes.py:
    fixes of different memory alignment

stdtypes.py:
    support of different libstdc++ internal structures on QNX

Change-Id: I808ee048c66c73c38bf5a8403e9cf881e767442e
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-11-11 10:53:07 +01:00
hjk
5be208bc03 Debugger: Move more common GDB and LLDB dumper code to base
Change-Id: I798396014256afc3845ccdae6e740bbf6059bbf3
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-11-07 14:46:10 +01:00
hjk
cc80da536d Debugger: Move basic C-style array handling to dumper base class
Just cosmetics. Function was oddly named, in an odd place.

Change-Id: I8bfb33f7f41f01309f4b2be8a802d4093ae25e41
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-11-07 14:46:01 +01:00