Commit Graph

51 Commits

Author SHA1 Message Date
Friedemann Kleint
75675c88ae Debugger[CDB]: Add version number to QtInfo struct in ext lib.
Run in a loop over qtVersion =4,5 when detecting the Qt modules
(quick detection). Add version field for later evaluation in
dumpers.
Reformat comments.

Change-Id: Ia3005fccbb92b847a0f1feef99a53eb4c318246f
Reviewed-on: http://codereview.qt.nokia.com/313
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2011-06-01 17:11:06 +02:00
Kai Koehne
21cfa5c6cc cdbext: Fix msvc warnings
Change-Id: Ib1604c2e36d2a4dbfb7edccb5be0e4c401b026c5
Reviewed-by: Friedemann Kleint
2011-05-18 15:25:50 +02:00
Friedemann Kleint
581765055d Debugger [CDB]: Enable Assignment to string classes.
Assign to QString/QByteArray following gdbmacros.py
implementation (call resize if required, copy data into buffer).

Assign to std::[w]string only it has sufficient memory
(since std::string<>.resize cannot be called).
2011-05-17 12:19:24 +02:00
Oswald Buddenhagen
fa0127bedd Merge remote-tracking branch 'origin/2.2'
Conflicts:
	src/plugins/debugger/breakhandler.cpp
	src/plugins/debugger/cdb/cdbengine.cpp
2011-05-16 17:32:23 +02:00
Friedemann Kleint
5ded3e2f62 Debugger[CDB]: Output std::[w]string correctly.
_Ptr is used for large values instead of _Buf.

Reviewed-by: hjk
2011-05-16 16:12:29 +02:00
Friedemann Kleint
ddf4b613f3 Krazy fixes (spelling, single char strings, char constants). 2011-05-10 15:21:41 +02:00
Tobias Hunger
aa2acec14c Fix/add copyright headers
Change-Id: I8b73d583be1ee7183f4074bce49d5390e38631a2
2011-05-06 15:17:05 +02:00
Friedemann Kleint
774fa49412 Fix more krazy warnings. 2011-04-19 15:43:53 +02:00
Oswald Buddenhagen
dc3c156cac Merge branch '2.2'
Conflicts:
	src/plugins/debugger/gdb/pythongdbengine.cpp
	src/plugins/qt4projectmanager/qt-desktop/qt4desktoptargetfactory.cpp
	src/plugins/qt4projectmanager/qt-desktop/qt4desktoptargetfactory.h
	src/plugins/qt4projectmanager/qt-desktop/qt4simulatortargetfactory.cpp
	src/plugins/qt4projectmanager/qt-desktop/qt4simulatortargetfactory.h
	src/plugins/qt4projectmanager/qt-maemo/maemodeploystep.cpp
	src/plugins/qt4projectmanager/qt-maemo/maemodeviceconfigurations.cpp
	src/plugins/qt4projectmanager/qt-maemo/maemoglobal.cpp
	src/plugins/qt4projectmanager/qt-maemo/qt4maemotargetfactory.cpp
	src/plugins/qt4projectmanager/qt-s60/qt4symbiantargetfactory.cpp
	src/plugins/qt4projectmanager/qt-s60/s60deploystep.cpp
	src/plugins/qt4projectmanager/qt4target.cpp
	src/plugins/qt4projectmanager/qt4target.h
	src/plugins/qt4projectmanager/qtoptionspage.h
	src/plugins/qt4projectmanager/qtversionmanager.cpp
	src/plugins/welcome/welcomemode.cpp
2011-04-14 12:39:31 +02:00
hjk
8397663964 Update license. 2011-04-13 11:49:28 +02:00
Friedemann Kleint
8e5ab20898 Debugger[CDB]: Reduce verbosity. 2011-04-05 15:20:13 +02:00
Friedemann Kleint
d4da0fbd85 Debugger[CDB]: Simple dumpers for ScriptValue, QHostAddress, QProcess
Dump by reading raw memory for further types for whose private
classes no symbolic information is available.
Also fix dumping for pointer values, taking CDB's pointer/value
duality into account.
2011-04-05 15:00:15 +02:00
Friedemann Kleint
885bb6ad83 Debuggerp[CDB]: Add further simple dumpers for Qt types.
QRegExp, QDir, whose private classes do not have symbolic
information, either. Create convenience routines for dumpers
accessing the raw memory of those private classes.
2011-04-04 14:05:12 +02:00
Friedemann Kleint
d3c4e60106 Debugger[CDB]: Implement simple dumpers for further Qt types.
QFile/QFileInfo/QUrl:
For those types, there is no symbolic information for their *Private
classes. Poke around in raw memory do obtain some information.

Move readMemory-utilities around.
2011-04-01 17:30:17 +02:00
con
1c2da511b9 Merge remote branch 'origin/2.2'
Conflicts:
	src/plugins/debugger/gdb/gdbengine.cpp
	src/plugins/qt4projectmanager/qt-maemo/maemodeploystep.cpp
	src/plugins/qt4projectmanager/qt-maemo/maemoglobal.cpp
	src/plugins/qt4projectmanager/qt-maemo/maemoglobal.h
	src/plugins/qt4projectmanager/qt-maemo/qt4maemotargetfactory.cpp
	src/plugins/qt4projectmanager/qt-s60/rvcttoolchain.h
2011-04-01 09:53:09 +02:00
Friedemann Kleint
bfcdd9c700 Debugger[CDB]: Fix CDB not showing QList<const char*>.
as it cannot determine the size of 'char const*' which it
reports as type.

Reviewed-by: hjk
Task-number: QTCREATORBUG-4253
2011-03-29 09:58:31 +02:00
Friedemann Kleint
efed3fd7cf Debugger[CDB]: Add a dumper for QSharedPointer.
As the structure is quite deeply nested.
2011-03-23 14:55:02 +01:00
Friedemann Kleint
ca9d360e09 Debugger[CDB]: Quote all QString-occurrences. 2011-03-23 09:37:27 +01:00
Friedemann Kleint
c6bd3a4961 Debugger[CDB]: Make error message more verbose.
Task-number: QTCREATORBUG-4185
2011-03-22 16:09:12 +01:00
Friedemann Kleint
88f333267f Fix Krazy code scanning tool warnings (QString, loops, spelling). 2011-02-25 15:28:01 +01:00
Friedemann Kleint
3669566b01 Debugger[CDB]: Do not dump symbols with memory-read-error.
Fix a potential crash when accessing their nodes.
2011-02-21 16:12:35 +01:00
Friedemann Kleint
4d46c69d25 Debugger: Documentation work on qtcreatorcdbext/Debugger.
Add comments, introduce internal switch in
doc/api/qtcreator-api.qdocconf.
2011-02-04 15:10:17 +01:00
Friedemann Kleint
285d216bed Debuggeri[CDB]: Add breakpoint command.
Report back breakpoints with modules.
2011-02-02 13:45:40 +01:00
Friedemann Kleint
20046e3ab3 Debugger[CDB]: Fixes for namespaced Qt.
Fix broken substringpredicate (temporary string reference),
fix Qt container template detection not to fall for
QMap<>::iterator (real inner class).
2011-01-19 11:40:50 +01:00
Friedemann Kleint
786560b39e Debugger[CDB]: Dump QByteArray as array of unsigned chars.
Fix assignment to reference nodes (QByteArray field elements).
2011-01-18 13:49:39 +01:00
Friedemann Kleint
11c6ca71ac Debugger[New CDB]: Add support for "Select Widget to Watch".
in stopped state. Add helper for executing calls
to ExtensionContext including recording of output in
OutputCallback. Extend symbol resolution to return addresses
as well since QApplication::widgetAt() is ambiguous and needs
to be called by address. Add 'widgetat' extension command
to return the widget.
2011-01-18 11:40:45 +01:00
Friedemann Kleint
3a87af8ada Debugger[New CDB]:Introduce watches infrastructure.
- Move the 'current module' into the Node
- Split symbol group hierarchy into LocalsSymbolGroup
  tied to frame/thread and a separate, scopeless
  WatchesSymbolGroup
- Add infrastructure for removing symbols from a SymbolGroup,
  doing the index bookkeeping.
- Add method to synchronize watches to  WatchesSymbolGroup
  (iname/name map).
- Introduce watches commands for adding and dumping.
- Extend locals command to get watches as well.
- Add a dummy 'ErrorSymbolGroupNode' to use in case
  insertion fails.
2011-01-14 16:53:05 +01:00
con
d1023c7614 It's 2011 now.
Reviewed-by: hjk
2011-01-12 09:46:24 +01:00
Friedemann Kleint
187e4d683d Debugger[New CDB]: Show pointer values in simple dumpers. 2011-01-10 10:51:51 +01:00
Friedemann Kleint
7b6f9fa47c Debugger[New CDB]: Display QObjectPrivate/QWidgetPrivate.
and QVariant-containers. Add infrastructure to pass information
from simple to complex dumpers (cached additional nodes) and for
non-container type complex dumpers.
2011-01-07 12:19:15 +01:00
Friedemann Kleint
ef48b33127 Debugger[New CDB]: Refine type detection, dump nested containers.
Introduce test commands.
2011-01-06 15:28:57 +01:00
Friedemann Kleint
ebec516e66 Debugge[New CDB]: Refine Symbol qualification for containers.
Resolve all types and always use current module for templates.
Fixes to pointer handling.
Make verbose switchable.
2011-01-06 12:53:54 +01:00
Friedemann Kleint
29ad8a4561 Debugger[New CDB]: Fix QList.
- Account for POD types in largeStatic-Check
- Avoid dumping empty children list (move handling to visitor)
- Verbose facility.
2011-01-05 16:52:30 +01:00
Friedemann Kleint
7e054be61c Debugger[New CDB]: Qualify some inner types by module.
in order to speed things up or make dumping of
containers of classes possible.
Fix a bug in stripPointerType.
2011-01-05 15:39:01 +01:00
Friedemann Kleint
ee090e7248 Debugger[New CDB]: Fix QHash/QSet.
Iterate bucket lists correctly.
2011-01-05 09:40:33 +01:00
Friedemann Kleint
d9ec7dd0a6 Debugger[New CDB]: Fix QMap.
Determine field offset of map node using GetFieldOffset.
Qualify with full module.
2011-01-04 10:53:53 +01:00
Friedemann Kleint
8d3e48af33 Debugger[New CDB]: First attempts at QMap<>.
Qualify map and hash nodes as Module!QMapNode<>.
Limit recursion depth of GDBMI dump.
Introduce error reporting.
Iterate QMap nodes and create artificial key/value nodes.
2010-12-21 17:23:27 +01:00
con
23c22b7c66 License headers, part 2 2010-12-17 17:14:20 +01:00
Friedemann Kleint
bc31a3f140 Debugger[New CDB]: Dump QHash/QMultiHash/QSet.
Introduce new Symbol group node for fake map nodes.
Iterate over QHash and extract keys, values for QSet/QHash.
2010-12-16 15:49:08 +01:00
Friedemann Kleint
476dda1b43 Debugger[New CDB]: Fix stepping issues, forced shutdown, values.
- Do not report start-up trap as stop reason should one trigger
  while stepping.
- Set current frame to first usable frame, avoiding disassembly
  while stepping
- Kill process in case of forced shutdown with pending (long)
  commands.
- SymbolGroupValue: Do a quick check for accessible values
  and mark failure as 'invalid'.
- Introduce flag indicating existence of simple dumpers to types.
2010-12-16 12:20:44 +01:00
Friedemann Kleint
7fa7ec98d3 Debugger[New CDB]: Do not add begin twice for QList<Large>.
Factor out some utilities for hashes.
2010-12-15 17:01:03 +01:00
Friedemann Kleint
b0b915fa56 Debugger[New CDB]: Fix flag handling and expanding of list children.
Suppress repetitive invocation of dumper evaluation.
Use parseWatchData() as does gdb.
2010-12-15 14:09:37 +01:00
Friedemann Kleint
cc3dd43942 Debugger[New CDB]: Linked lists containers/container child expansion.
Introduce node hierarchy and move nodes to a separate file.
Introduce reference nodes that point to additional symbols and
symbols within the symbol tree (make deeply nested linked list
elements visible as array elements). Properly name container
elements as array elements 0..n. Fix pre-expansion of complex
dumpers.
2010-12-15 11:01:01 +01:00
Friedemann Kleint
580484488f Debugger[New CDB]: QList fixes.
Alignment at void*-boundaries for small types.
Read out pointer array directly instead of dereferencing ** for
large types for speed.
2010-12-14 09:57:33 +01:00
Friedemann Kleint
5fcc706800 Debugger[New CDB]: Work on QList.
Move container size code to container.cpp/h and known type
enumeration to separate knowntype.h.
Add some more types. Change type detection to work without
'class '/'struct ' prefixes for inner types. Add Qt types with
Movable/Primitive flags. Add QStack/QQueue, size for std::deque
and std::stack. Add infrastructure for linked-list type containers
and std::list. Implement QList specialisations depending on type.
2010-12-13 16:30:29 +01:00
Friedemann Kleint
d3619e806d Debugger[New CDB]: First stab at containers.
Set up infrastructure for having 'fake' children in a symbolgroup
that merely reference others. Print inames correctly, do index
bookkeeping accordingly, adapt visitor.
Prototypically implement complex dumpers for array-type containers.
adding children as additional symbols.
2010-12-10 17:17:55 +01:00
Friedemann Kleint
54c5692efc Debugger[New CDB]: Dump size of containers and QObject::ObjectName.
Extend type checking for container templates. Add utility
function to obtain container size.
2010-12-03 16:46:20 +01:00
Friedemann Kleint
e90c89e27d Debugger:[New CDB]: Add casting to SymbolGroupValue for QVariant.
Reorganize simple dumpers to be easily nested, add QVariant
dumper. Introduce enumeration and detection routine for types.
2010-12-01 13:43:29 +01:00
Friedemann Kleint
f3f95c693a Debugger[new CDB]: Add support for more core types.
Structures with accessible members.
2010-11-29 12:35:19 +01:00
Friedemann Kleint
30e74df0ba Debugger[New CDDB]: Dump strings and simple Qt types.
Add infrastructure for simple dumpers in Symbol group.
Fix display of class values.
2010-11-26 15:51:56 +01:00