Commit Graph

78 Commits

Author SHA1 Message Date
hjk
d982b216ff debugger: rework dumping arrays of plain data
Simple array data can be fetched in one go.
The "normal" way gdb asks the server for contents is one item
at a time, at ~3ms per round trip. Now we get 2000 in 200ms.

This also introduces a re-usable readRawMemory function and
removes a few checkAccess calls which will be triggered anyways.

Change-Id: Ic07a3d6593fd2ea45f7a8058509118fe22a845bb
Reviewed-by: hjk <qthjk@ovi.com>
2012-05-30 11:31:29 +02:00
Robert Loehning
7d96a3218e debugger: Fixed syntax error
Found by Squish test suite_debugger/tst_cli_output_console

Change-Id: I3d4bf97f9971e44ac39bc262d17da0641a99af19
Reviewed-by: hjk <qthjk@ovi.com>
2012-05-30 10:02:01 +02:00
hjk
093363ef21 debugger: use 'None' instead of -1 for default parameter
Change-Id: I865ecaa73bee5880d746fed019ac879b563367e7
Reviewed-by: hjk <qthjk@ovi.com>
2012-05-29 13:05:27 +02:00
hjk
1ba684ad39 debugger: make max string size more configurable
Change-Id: I4fd3c854eb2bb752c5338e96f2e19884bdcf71a8
Reviewed-by: hjk <qthjk@ovi.com>
2012-05-29 12:24:41 +02:00
hjk
bc9326abb7 debugger: move type info cache population to lookupType
This way we miss some data from types we never lookup (like 'int')
but having it out of the performance path in SubItem.__exit__ is
more important.

Change-Id: I9ff86a7d9bf0d66e5781581d04942f29ca0e520b
Reviewed-by: hjk <qthjk@ovi.com>
2012-05-25 16:00:12 +02:00
hjk
d5fdc08bd0 debugger: check typedefs for specialized dumpers first
A __m128 showed up as float[4] unconditionally.

Change-Id: Ie01a0a329953a5e4bf4cd9c964a562ce49e14e81
Reviewed-by: hjk <qthjk@ovi.com>
2012-05-17 19:09:34 +02:00
hjk
de2a88c0f3 debugger: take advantage of simple contents in array-like containers
Change-Id: I79e8fc7cf083d5c6c135cce5e0a42e41475a7b44
Reviewed-by: hjk <qthjk@ovi.com>
2012-05-17 19:08:33 +02:00
hjk
eeeefc226a debugger: transfer simple array contents more directly
Change-Id: I75537b1ef6890767b12968f907348f9d9bb88069
Reviewed-by: hjk <qthjk@ovi.com>
2012-05-17 19:01:22 +02:00
hjk
0183a9021f debugger: don't search dumper hash twice
Change-Id: I18a93ca41c9aa380a7a83adc43b737def12d771c
Reviewed-by: hjk <qthjk@ovi.com>
2012-05-15 18:20:33 +02:00
hjk
075153fc85 debugger: use a faster way to check for "QObject-derivedness"
Change-Id: Id212f66de665db05a6a03675a0bf3edaa0c4fb81
Reviewed-by: hjk <qthjk@ovi.com>
2012-05-15 18:19:26 +02:00
hjk
785a9cea81 debugger: do not hide errors thrown in typedef'ed items
Change-Id: I86539bb08a43f59c53f80b0eb83db1f7cda5fe1b
Reviewed-by: hjk <qthjk@ovi.com>
2012-05-15 10:32:21 +02:00
hjk
38905e523e debugger: fix display of type of dynamic references
This is actually a bug in gdb, but can be worked around.
See http://sourceware.org/bugzilla/show_bug.cgi?id=14077

Change-Id: I5aab39e9a3cfd9d7c12d52339005b1979421229e
Reviewed-by: hjk <qthjk@ovi.com>
2012-05-11 23:38:04 +02:00
hjk
5787c1e4cd debugger: simplify OutputSafer interface
Change-Id: I22857522a5be4fb65d3124cd26f82ca1aeb68d60
Reviewed-by: hjk <qthjk@ovi.com>
2012-05-11 14:57:31 +02:00
hjk
7dc71bc43c debugger: display references in type columns
This breaks tradition.

Change-Id: I6780f31d584021490293a1ed3a96b5c3608a8a36
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: hjk <qthjk@ovi.com>
2012-05-08 12:24:02 +02:00
hjk
7388034eef debugger: recognize null references explicitly.
Change-Id: Ie315997363d9f591526ea8c122759f59d808fae5
Reviewed-by: hjk <qthjk@ovi.com>
2012-05-08 10:33:20 +02:00
hjk
a7a3941cc2 debugger: Fix QString, QVector, QByteArray dumper for Qt 5 container changes.
Change-Id: Ib966adda453cbc8e44c36ae629f62ac3a5bf5bf7
Reviewed-by: Christian Stenger <christian.stenger@nokia.com>
Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
2012-04-18 15:56:55 +02:00
Orgad Shaneh
fe8746b3ed Dumper: Make QFile base dumper consistent
and avoid hard-coding the base class

Task-number: QTCREATORBUG-7283

Change-Id: I42f5577062c9de1a0fea6bf50a27e1aae8612ad9
Reviewed-by: hjk <qthjk@ovi.com>
2012-04-15 20:29:39 +02:00
Orgad Shaneh
d6a2667dac Dumper: Fix dynamic type dumper for generic struct
Change-Id: Idb5ff44061afa8170afed3737f1be378165732f2
Reviewed-by: hjk <qthjk@ovi.com>
2012-04-02 13:50:45 +02:00
hjk
30fc5d56ed debugger: increase max number of vtable entried from 20 to 100
Change-Id: I9cc62402830f9ca5b2af389df5f790515ed0383c
Reviewed-by: hjk <qthjk@ovi.com>
2012-03-20 11:26:01 +01:00
hjk
ce6a80f337 debugger: extend semi-automanated tests to one level of expansion
Change-Id: I9063f4eecfe4c42926771cc46539932b4e353b8d
Reviewed-by: hjk <qthjk@ovi.com>
2012-03-05 17:17:51 +01:00
hjk
cce8521c68 debugger: more robust detection of types with vtables
Needed to get the "dynamicType" deduction right.

Change-Id: I30ea14f95110fa405abb3a1cb15293d57be87fa3
Reviewed-by: hjk <qthjk@ovi.com>
2012-03-02 16:00:43 +01:00
hjk
b66aeffe0b debugger: fix default value for char * display
Change-Id: I6edff2b83dd1965cd9975a4e90c6deba17a2c375
Reviewed-by: hjk <qthjk@ovi.com>
2012-03-02 16:00:14 +01:00
Orgad Shaneh
beac33b088 Dumper: Add square brackets to base classes
Change-Id: Ia3655a4d11f2a2393959139071ec2696fdde22a5
Reviewed-by: hjk <qthjk@ovi.com>
2012-02-24 11:42:04 +01:00
Orgad Shaneh
3cf1eaac2b Dumper: Fix base class dumper for classes without namespace
Task-number: QTCREATORBUG-6933
Change-Id: Iac91b2aaf2e824fb99eed2360d53ecad963cee9f
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: hjk <qthjk@ovi.com>
2012-02-23 13:24:15 +01:00
hjk
c0b814e879 debugger: Don't upcast before calling a base class dumper.
Task-number: QTCREATORBUG-6933
Change-Id: I4b300dfddad91997fa4c0ffa9cac16d12daeb707
Reviewed-by: hjk <qthjk@ovi.com>
2012-02-22 18:37:35 +01:00
hjk
dfadbe7cb0 debugger: don't use dynamic types when dumping base classes.
Change-Id: Id1effadbf47d4d42be44ccf63ef39d1bda8b83a1
Reviewed-by: hjk <qthjk@ovi.com>
2012-02-22 17:54:35 +01:00
hjk
1ae7f13dc4 debugger: more general support for D arrays
Change-Id: Id8c4e585aa92616c40b9953be5bb9c3d121272b7
Reviewed-by: hjk <qthjk@ovi.com>
2012-02-17 01:07:55 +01:00
hjk
5117f5dff2 debugger: add gdb "pretty printers" for D's char[] and string[]
Change-Id: Icf690e0948d5c88b2a59b81258c97a42c5ac5251
Reviewed-by: hjk <qthjk@ovi.com>
2012-02-16 23:43:02 +01:00
hjk
759fcca041 debugger: various small fixes for Qt 5 dumpers
Change-Id: I28d483fb3b3957aa1a1772d7f4c497192d730418
Reviewed-by: hjk <qthjk@ovi.com>
2012-02-14 01:58:10 +01:00
hjk
1731911c40 debugger: implement gdb python dumper fuer std::array
Change-Id: I32d353ec332d39fa80fab9780a0b084156842666
Reviewed-by: hjk <qthjk@ovi.com>
2012-02-04 01:02:27 +01:00
hjk
be4ab29c32 debugger: fix argv dumper
Change-Id: I4162aba467aafc235ccc5145cf77e59d6e9e1924
Reviewed-by: hjk <qthjk@ovi.com>
2012-01-26 18:09:26 +01:00
hjk
918131b6e7 debugger: don't use derived dumpers if already dumping in base
Task-number: QTCREATORBUG-6857
Change-Id: Ie299a98f8e3177d730efb965f31880c6d3dfee54
Reviewed-by: hjk <qthjk@ovi.com>
2012-01-24 09:57:23 +01:00
hjk
dc73498d34 debugger: show value of pointers that can't be dereferenced
Task-number: QTCREATORBUG-6814
Change-Id: If7aa58e007ba17cb7dfb3b5f3ab8950a60bbf064
Reviewed-by: hjk <qthjk@ovi.com>
2012-01-17 13:35:42 +01:00
hjk
6ebdf75cd5 debugger: fix displays of pointers to typedef to unsigned char
Change-Id: Id04e3b0b18f129e745f3259c8381810927212306
Reviewed-by: hjk <qthjk@ovi.com>
2012-01-09 10:41:11 +01:00
hjk
73fdc207ce debugger: make dumper more robust in optimized code
Change-Id: Ia398caf0fd29e6ac77502d870e8c9b615d4f395e
Reviewed-by: hjk <qthjk@ovi.com>
2012-01-06 16:58:38 +01:00
hjk
e70665d321 debugger: workaround gdb 7.1
Change-Id: I14ac857af34218457b237798a09224cd6976d282
Reviewed-by: hjk <qthjk@ovi.com>
2012-01-06 16:56:50 +01:00
hjk
2800583e15 debugger: fix breakage with gdb 7.1
Officially we support only 7.2+ nowadays, but 7.1 used to work. This was
broken recently by the "dynamic type" work. With this patch the debugger
behaves as before with 7.1, and shows dynamic types with 7.2+.

Change-Id: Id9e775d19712ea40d7c2a7aa8f9f734174d2446e
Reviewed-by: hjk <qthjk@ovi.com>
2011-12-19 16:26:04 +01:00
hjk
2719eb289c debugger: use {type}&main trick for more streamlined type lookup with gdb
Change-Id: Idfe0e5259bc715cb4d38063f336d257b1f55f76a
Reviewed-by: hjk <qthjk@ovi.com>
2011-12-13 19:03:35 +01:00
hjk
24b4c12737 debugger: fix assignment to typedef'd values in locals view
Change-Id: I90fce68639c46f0592f66448a475c7822373d5b7
Reviewed-by: hjk <qthjk@ovi.com>
2011-12-09 00:09:27 +01:00
hjk
844437c666 debugger: use the same type formats for arrays of same base type
Task-number: QTCREATORBUG-5582
Change-Id: I690c755fc5d2ea127ea12f65f799accb10ff20c9
Reviewed-by: hjk <qthjk@ovi.com>
2011-11-30 16:04:24 +01:00
hjk
600a2f839e debugger: make use of dynamic type for dumpers configurable
It's too expensive to have it unconditionally on in some settings.
Giving the user the possibility to switch it off seems ok.

Change-Id: I7bdcb0ce919f0dca83a4563ac83958efdeb251e7
Reviewed-by: hjk <qthjk@ovi.com>
2011-11-30 11:50:20 +01:00
hjk
c6ebc1c697 debugger: add display variants for assosiative containers
Change-Id: I8ce5449bf2717e7989e401482f9dbf39fafdd7d0
Reviewed-by: hjk <qthjk@ovi.com>
2011-11-17 13:53:29 +01:00
Orgad Shaneh
e86fc51062 Debugger: Correctly handle strings with length of exactly maxsize
Change-Id: I666a7dd9cc6e6f56f3971c426cc697b9f2f983ff
Reviewed-by: hjk <qthjk@ovi.com>
2011-11-15 09:59:46 +01:00
hjk
7a1b22c890 debugger: fix extractCharArray for e.g. empty strings
Change-Id: I00b0dab800c2587b5f947f52f96595eefc6ca218
Reviewed-by: hjk <qthjk@ovi.com>
2011-11-10 13:45:18 +01:00
hjk
0697fc5e74 debugger: use faster symbol lookup to discover dynamic type
Change-Id: I09d2deedf9288cf930a38179e7ff6e4f8e242efc
Reviewed-by: hjk <qthjk@ovi.com>
2011-11-08 20:06:05 +01:00
hjk
8cf70c8c3c debugger: fix display of dynamic type
Change-Id: Ib8844e4b9cbfef52f9717572086d1e3bdda257ce
Reviewed-by: hjk <qthjk@ovi.com>
2011-11-08 18:29:20 +01:00
hjk
332ea08142 debugger: Use Latin1 as default for char *.
Change-Id: I5a5f76d312f97c6684542fd3e31f68f78d6acf58
Task-Number: QTCREATORBUG-5232
Reviewed-by: hjk <qthjk@ovi.com>
2011-11-08 11:56:15 +01:00
hjk
b0ca56109e debugger: do not show "*" "pseudo name" twice in dumper output
Change-Id: Id770f4b1d75487ce23b3c9cf2d59e4877ffd0467
Reviewed-by: hjk <qthjk@ovi.com>
2011-11-04 16:28:07 +01:00
hjk
dbc84d8c1c debugger: workaround for http://sourceware.org/bugzilla/show_bug.cgi?id=13380
Task-number: QTCREATORBUG-6465
Change-Id: I98894cbd247b53e18b86ec997b9087d1f2d511f3
Reviewed-by: hjk <qthjk@ovi.com>
2011-11-03 19:22:12 +01:00
hjk
c289ac1fd9 debugger: add convienience constructor for std::strings
Change-Id: I61454ddbe417162ab182a1541b580e4cb4c783a4
Reviewed-by: hjk <qthjk@ovi.com>
2011-10-20 16:09:02 +02:00