Commit Graph

1467 Commits

Author SHA1 Message Date
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
hjk
473905671c Debugger: Improve QModelIndex dumper
An unavailable display value doesn't mean an invalid index

Change-Id: I68baa09c9d6176dcd1a3f983ec375414292d7026
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2013-11-20 11:31:53 +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
ab52154010 Debugger: Use natural order when displaying a map
Task-number: QTCREATORBUG-10781

Change-Id: I20e6ee87efd445a32539f6600fa90a5192c72114
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2013-11-18 15:17:55 +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
hjk
5ab28b2429 Debugger: Add a simple dumper for Debugger::Internal::ThreadId
Change-Id: I09c83b1746462b688d9c8328987ee23c0a09be7e
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-11-15 14:10:36 +01:00
Eike Ziller
0d724e40a0 LLDB: application always got at least one argument passed
Even if it was an empty argument.

Change-Id: I610c4cea82bdbc557e63acd1663040ca70a5d3ee
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-11-15 11:39:49 +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
Tobias Hunger
c8c49668fc Debugger: Use proper placeholders in printf
Change-Id: Ibf63c0be68e83a870a0cb3ddce0b38381a1e4153
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-11-13 16:14:48 +01:00
hjk
e5a65d58bf Debugger: Handle startup problems more gracefully
Task-number: QTCREATORBUG-10598
Change-Id: Ia22b46da87b43c807acc11747294609d88c0e183
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-11-11 16:18:15 +01:00
hjk
976e849740 Debugger: Fix report of current thread from LLDB
Task-number: QTCREATORBUG-10730
Change-Id: Iab7b46da87b43c807acc11747294609d88c0e183
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-11-11 15:32:13 +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
d7b8b291a9 Debugger: Handle tooltip data in LLDB backend
Task-number: QTCREATORBUG-10690
Change-Id: I5deecfed4c525fd6c3cd75f510e7662e469f99ea
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-11-08 17:18:46 +01:00
hjk
ab388457e6 Debugger: Restrict LLDB register reporting by view visibility
Change-Id: Iaf92f565f9b33f5739bb3e0a19920f160c0b44f7
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-11-08 17:18:24 +01:00
hjk
0253359e2e Debugger: Fix internal breakpoint dumper for LLDB
Change-Id: I5406230ddeb56ac62c0bc6992379b4b89d21ba2c
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-11-08 12:21:44 +01:00
hjk
fea08ef453 Debugger: Catch empty names for LLDB values
Right now its unclear under which circumstances this can
happen, but we should better not abort debugging in such
cases.

Change-Id: Icc3faf304869e6fe13344137c91b0f046edc4a6a
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-11-07 18:15:01 +01:00
hjk
8562dc0904 Debugger: Simplify pointer arithmetic in LLDB dumper
Change-Id: I1b8396014256afc3845ccdae6e740bbf6059bbf3
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-11-07 14:51:08 +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
hjk
a9db8d9318 Debugger: Consolidate pointer display
Pretty much the same code for GDB and LLDB, no reason to duplicate.

Change-Id: I4df4ba55e3b6bdfb6422179050f9a31bd1ebe082
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2013-11-07 11:11:58 +01:00
hjk
c1cddebe8d Debugger: Always report registers with LLDB
Change-Id: I71cfb1e01193c57e06aebeaa8defa11809e24c50
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2013-11-06 17:11:03 +01:00
hjk
57c098142c Debugger: Make stack accesses more robust in lldbbridge
Change-Id: I13cfb1e01193c57e06aebeaa8defa11809e24c50
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-11-06 15:33:32 +01:00
hjk
6f10a1cb23 Debugger: Make Watchers work with LLDB
Change-Id: Ie39a38c6646c3c19819e2c122d7f8be285eae09e
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-11-06 14:25:58 +01:00
Eike Ziller
fd8fee749e LLDB: Fix Qt4/QSet dumper
Change-Id: I90d3e81653266f660c27f14093459a84873b6dd3
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-11-06 10:32:18 +01:00
Eike Ziller
bad7b17267 LLDB: fix QHashIterator dumper for Qt4
Change-Id: I6743839cc54f81eb17125f2449dd1df391b9a1a4
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-11-06 10:31:45 +01:00
hjk
a57ab5d44e Debugger: Distinguish stdout and stderr in LLDB
At least theoretically, on our side. Practically the output
seems to arrive all with ldb.SBProcess.eBroadcastBitSTDOUT
from LLDB.

Change-Id: I61cfb1e01193c57e06aebeaa8defa11809e24c50
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2013-11-05 12:52:23 +01:00
hjk
53e8991600 Debugger: Remove unused code
Change-Id: I139a38c6646c3c19819e2c122d7f8be285eae09e
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-11-05 12:37:10 +01:00
Eike Ziller
287da2627d dumpers: enable backtraces for tests
Change-Id: I80bfb459c20e92fb0ea4e938421015a09f1c8518
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-11-05 12:35:21 +01:00
Eike Ziller
d06fb9cf47 LLDB: remove unused method and variable
Change-Id: I4195ad4bf5af3e912f49411acb4bc3a6ec4df33b
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-11-04 17:50:29 +01:00
Eike Ziller
8c6fb68972 dumpers: fix QUrl for Qt4
Change-Id: Ib93bdcd86532fe9313889b70db655a26e1ca7c71
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-11-04 17:47:15 +01:00
Fawzi Mohamed
345eb5b0a5 lldb/ios: add platform specification
Change-Id: Ie7867dce5bd50573d714d41bf46195a802eb61c7
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2013-11-04 12:50:11 +01:00
hjk
94bedf66ba Debugger: Simplify QVariant dumper
Change-Id: Ieeb65d9beaa2fbd1e30c54814500bcfbfb8bf161
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-11-01 15:11:22 +01:00
hjk
8e37b24279 Debugger: Disable LLDB's own visualizers.
Stop-gap measure until we can properly co-exist.

Change-Id: Ia6699eb7261e480587f6a21d54fb6b6107669b8f
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-11-01 14:25:23 +01:00
hjk
a8dece0b99 Debugger: Move some generic helper function to base dumper
Change-Id: I78dea9af7d397d49ce2b54086d275413f2477626
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-11-01 14:25:11 +01:00
hjk
909991164d Debugger: Re-introduce the '@\n' separator in LLDB communication
More robust.

Change-Id: Icc3c05d5ed7bcf35f38ba695b42a9716d00e8188
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2013-11-01 12:35:44 +01:00
Eike Ziller
fc6386be80 LLDB: Fix local debugging after b39f26e856
Change-Id: I6ba4a6daa0b4bc0132a447bdc938ce19a95903e3
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-11-01 11:33:32 +01:00
Fawzi Mohamed
ac17b73c20 lldb: allow lldbbridge.py to be directly imported in python
Change-Id: Ib0bcb4dd708e89cebe12407a3f8e375c79664a74
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2013-11-01 10:09:51 +01:00
hjk
fe0bddbd63 Debugger: Rework dumper detection
Recent versions of GDB seem to require 'make install' to find their
Python bits. Given that this is not really an option, check the
usual suspects, too.

Change-Id: I5217c0184681d4a86992fe0b8989498843b26cea
Reviewed-by: David Schulz <david.schulz@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-11-01 10:08:38 +01:00
Fawzi Mohamed
b39f26e856 ios: device debugging
switched to using a relay server

Change-Id: Ic3ddb48b818fa43894314f7fbaf9d7780fc01ade
Reviewed-by: hjk <hjk121@nokiamail.com>
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
2013-10-31 18:19:09 +01:00
Eike Ziller
ddee9bdf56 LLDB: Fix shadowed variable support
SBValue has no 'name'

Change-Id: I670ed0f5e1deed70d96cc1944f6f9b0cda49e0c1
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-31 16:06:13 +01:00
hjk
afe4da2770 Debugger: Don't search for object names in non-QObjects
Change-Id: I9f7f944ed9dfccfe36d2610dd70908b8bb10727e
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-31 13:39:41 +01:00
hjk
075f55e0b9 Debugger: Memorize results of pointer lookups
Change-Id: If3dfdd21ac0737af7ee205b376b57d6e58ff6f91
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-31 13:39:08 +01:00
hjk
47afc21328 Debugger: Remove unused Dumper.intPtr function
Change-Id: I7716dbcfa028556647758611e279012eaae4928a
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-31 13:38:15 +01:00
hjk
a84963ec38 Debugger: More restructuring of globals in dumpers
Change-Id: I6cb45097dd355a9362c0555504871210ff712bdb
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-31 10:44:39 +01:00
hjk
e159fd4920 Debugger: Remove some workaround for GDB 7.1 in dumpers
We require 7.4 nowadays.

Change-Id: I9686e9ee751a19e765e72a5f0086889dc4a051da
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-31 10:44:22 +01:00
Eike Ziller
0cae053d11 LLDB: avoid python backtraces destroying all data
Change-Id: I1ea7ccad208c00d11e0579de219739cbabab8455
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-31 09:40:12 +01:00
Eike Ziller
b620716342 LLDB: Fix command reading loop
It could entirely miss commands sent by the engine.
The loop was waiting for something to come into stdin, but always only
read a single line from it, although it possibly already contained
multiple lines.
The patch simplifies the loop by removing the select() call entirely
and solely using sys.stdin.readline() which blocks anyhow.

Change-Id: Iff12aa051bb6e11c5ba30081d7c9d4e98940e231
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-30 18:04:13 +01:00
hjk
e176013140 Debugger: Move some global variables to the Dumper class
Change-Id: I5c8fd8a48f27ac70e6e39f645d64dcd788752e73
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-30 17:22:14 +01:00