hjk
b51ec79f7c
Debugger: Remove some debugging output
...
Change-Id: I4df8bd423bfce6b3005c5821ea71358a8ac260ea
Reviewed-by: hjk <hjk121@nokiamail.com >
2014-06-17 07:42:21 +02:00
hjk
fffbf9472a
Debugger: Make dumpers somewhat work in command line GDB
...
With
python sys.path.insert(1, '/data/dev/creator/share/qtcreator/debugger/')
python from gdbbridge import *
in .gdbinit there's a new "GDB command", called "pp".
With code like
int main(int argc, char *argv[])
{
QString ss = "Hello";
QApplication app(argc, argv);
app.setObjectName(ss);
// break here
}
the 'pp' command can be used as follows:
(gdb) pp app
app =
[
<Myns::QGuiApplication> = {"Hello"}
staticMetaObject = <Myns::QMetaObject> = {""}
[parent] = <Myns::QObject *> = {"0x0"}
[children] = <Myns::QObjectList> = {"<3 items>"}
[properties] = "<>0 items>"
[methods] = "<6 items>"
[signals] = "<1 items>"
],<Myns::QApplication> = {"Hello"}
(gdb) pp app [properties],[children]
app =
[
<Myns::QGuiApplication> = {"Hello"}
staticMetaObject = <Myns::QMetaObject> = {""}
[parent] = <Myns::QObject *> = {"0x0"}
[children] = [
<Myns::QObject> = {""}
<Myns::QObject> = {""}
<Myns::QObject> = {"fusion"}
],<Myns::QObjectList> = {"<3 items>"}
[properties] = [
windowIcon = <Myns::QVariant (QIcon)> = {""}
cursorFlashTime = <Myns::QVariant (int)> = {"1000"}
doubleClickInterval = <Myns::QVariant (int)> = {"400"}
keyboardInputInterval = <Myns::QVariant (int)> = {"400"}
wheelScrollLines = <Myns::QVariant (int)> = {"3"}
globalStrut = <Myns::QVariant (QSize)> = {"(0, 0)"}
startDragTime = <Myns::QVariant (int)> = {"500"}
startDragDistance = <Myns::QVariant (int)> = {"10"}
styleSheet = <Myns::QVariant (QString)> = {""}
autoSipEnabled = <Myns::QVariant (bool)> = {"true"}
],"<10 items>"
[methods] = "<6 items>"
[signals] = "<1 items>"
],<Myns::QApplication> = {"Hello"}
(gdb) pp ss
ss =
<Myns::QString> = {"Hello"}
Change-Id: I6e4714a5cfe34c38917500d114ad9a70d20cff39
Reviewed-by: Christian Stenger <christian.stenger@digia.com >
Reviewed-by: hjk <hjk121@nokiamail.com >
2014-06-16 16:28:59 +02:00
hjk
252048ef01
Debugger: Make char * displayable in separate windows
...
Task-number: QTCREATORBUG-7313
Change-Id: I8d475dd94a48e7a1d5efe4c2c0d90cb6bdf9b3e2
Reviewed-by: Christian Stenger <christian.stenger@digia.com >
2014-05-28 15:07:59 +02:00
hjk
3ae6c09714
Debugger: Regression cleanup
...
Sneaked in with 40052046fd
.
Change-Id: I711c5b8e6869647a447a5f17f693de571b5f0337
Reviewed-by: Christian Stenger <christian.stenger@digia.com >
2014-05-20 13:01:31 +02:00
hjk
40052046fd
Debugger: Rework display length limitation systems
...
There are two values now, one to limit an entry in the L&E view
(default 100) and a hard upper limit (at 1 mio).
If displayed values are elided, the true length is shown in addition.
Change-Id: I180b70446c18e258c164e5af75b88d4c8b6c53f2
Reviewed-by: hjk <hjk121@nokiamail.com >
2014-05-16 17:50:18 +02:00
hjk
6107fdc276
Debugger: Add "composite" watchers
...
Multiple expressions can be separated by semicolon,
and arrays allow index ranges given as [a..b] or
with strides [a.(s).b].
Change-Id: I0b7b4ee500a5f6f5027d777b0a1e8ee5a28a7cd5
Reviewed-by: Christian Stenger <christian.stenger@digia.com >
2014-05-13 12:58:35 +02:00
hjk
d2ad6aa972
Debugger: Simplify array dumper user code
...
Heads up: This switches the argument order to allow a default
argument for the inner type if it can be determined from the
base pointer.
Change-Id: I9bf80fcdd51b5db8e7c65adba551ca667912cd86
Reviewed-by: Christian Stenger <christian.stenger@digia.com >
2014-05-06 13:50:25 +02:00
hjk
03c6df1fab
Debugger: Fix staticMetaObject extraction with LLDB
...
When asked for Foo::staticMetaObject, it will find
any *::staticMetaObject. Looking for the mangled name
finds the one we need.
Change-Id: I4508a3c282bc8a46efa011efb73f32cdbf46398c
Reviewed-by: Eike Ziller <eike.ziller@digia.com >
2014-04-11 14:24:35 +02:00
hjk
b5f4678846
Debugger: Handle failing inferior calls more gracefully
...
At least for GDB on Windows that's a rather typical situation due to
GDB's "Internal error: pc in read in psymtab, but not in symtab"
Task-number: QTCREATORBUG-11164
Change-Id: If79d586b59e2c1ee37558e8a811091fefc69ac2d
Reviewed-by: Christian Stenger <christian.stenger@digia.com >
2014-04-03 13:41:21 +02:00
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