Commit Graph

71 Commits

Author SHA1 Message Date
Friedemann Kleint
0a556c2fe1 Adapt Qt symbol resolution to library naming change.
Change-Id: Iaf3eaf2b98bba6f1796a59499136e92c4124ad0b
Reviewed-by: hjk <qthjk@ovi.com>
2012-12-14 11:03:31 +01:00
Friedemann Kleint
8c8e7b4cbc CDB: Fix module names in Qt 5.
Library naming convention was changed.
Increase version.

Change-Id: I01a7e49f6ffb0e4e78c25f9d9e117a2100dc7784
Reviewed-by: hjk <qthjk@ovi.com>
2012-12-13 11:08:23 +01:00
hjk
386ca7c8dd Adjust license headers
Change-Id: Ice592c6de9951ee3b2c4cb52ed0bb3b6770e0825
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2012-10-05 17:12:56 +02:00
Friedemann Kleint
2fc6b24a8a CDB: Fix dumping of objectNames() in Qt 5.
Qt 5 has an additional extraData.

Change-Id: Ieac0a1855ed93b4ef2c0900e37097d89de440895
Reviewed-by: hjk <qthjk@ovi.com>
2012-09-11 11:59:43 +02:00
Friedemann Kleint
e9cd29f7a7 CDB: Improve simple dumpers.
Retrieve data of Qt types with unexported private classes
from memory.

- Dump new string members of Qt 5's QUrl
- Fix QDir (faulty offset).
- Implement QDateTime.

Change-Id: Ie0524a531cd0afb3b8e058c2a0a0bf9616078357
Reviewed-by: hjk <qthjk@ovi.com>
2012-08-24 12:51:59 +02:00
Friedemann Kleint
b5abaa27df CDB: Fix STL debugger helpers for MSVC2012 beta.
In MSVC2012, more bases classes for std::string
and containers were introduced whereas std::pair_base
was removed compared to MSVC2010.

Add a findMember() function to be able to skip base
classes when looking for a certain member to finally
fix this issue.
Introduce SymbolGroupValue::parent()/childCount()
and simplify the helpers using it.

Change-Id: I7a6aad5c07739ca9cbf350489acd6d03bd1865e8
Reviewed-by: hjk <qthjk@ovi.com>
2012-08-02 13:43:28 +02:00
Friedemann Kleint
467a08127d CDB: Output std::wstring with compiler option -Zc:wchar_t-.
std::wstring is then based on wchar_t instead of ushort.

Change-Id: I4dd3ef29069b8375e7003deba3162537a0d01784
Reviewed-by: hjk <qthjk@ovi.com>
2012-08-01 16:35:13 +02:00
Eike Ziller
e0e8cf3ada Contact -> qt-project.org
Change-Id: I7134d7de30bcf9f9dcfad42520dd45ee083a852d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-07-19 13:23:21 +02:00
Friedemann Kleint
7e53c4a738 CDB: Improve watch expressions.
- Fix watch expressions for array to at least point to the
  initial element.
- Return the name (which is the initial expression for the watch
  symbol group) as last resort if the evaluation fails to avoid
  obtaining "(*) 0" as expression.

Task-number: QTCREATORBUG-7408
Change-Id: Ifdf5ba59f6e18527d98b869f6a273aed283bd7da
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-05-29 14:33:59 +02:00
Friedemann Kleint
82170f0050 CDB: Dump Qt 5 / QString correctly.
Adapt to recent change basing QStringData on QTypedArrayData.

Change-Id: I8145015e31ca10bc484d01e8082a2f97d6750285
Reviewed-by: hjk <qthjk@ovi.com>
2012-05-07 13:19:16 +02:00
Friedemann Kleint
6595e1d443 Adapt CDB debug helpers to pending container changes.
- Adapt QByteArray, QString, QVector.
- Disable QMap for Qt 5.

Change-Id: I113d546fc69165b504ce4998b3bf7ac9c44130fb
Reviewed-by: hjk <qthjk@ovi.com>
2012-04-25 11:18:30 +02:00
hjk
2931a499e6 Long live the king!
Change-Id: I2b72b34c0cfeafc8bdbaf49b83ff723544f2b6e2
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-01-26 19:55:36 +01:00
Friedemann Kleint
689903164a qtcreatorcdbext: Simplify Qt 5 code.
Change-Id: I3c62cd7d371312bed1c1c3f5220af86d64143e88
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2011-12-20 16:21:13 +01:00
hjk
31600758de all: s/info@qt.nokia.com/qt-info@nokia.com/
Change-Id: If18afb5d4665924e7d9250dccbc60a65e6daa75e
Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
2011-11-03 10:33:19 +01:00
Friedemann Kleint
7fbbe77874 Debugger[CDB]: Rework string formatting.
Use watch encoding without quotes for non-ASCII output.
Use formats with quotes for recoded strings.
Extend char-pointer recoding to work for char-arrays as well
and restrict to char types. Split up and re-use when
outputting QByteArrays or std::[w]string.

Task-number: QTCREATORBUG-5667
Change-Id: If9748c2e375ee5ecb05d257410eba4012de1c3cf
Reviewed-on: http://codereview.qt.nokia.com/2747
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2011-08-08 15:00:57 +02:00
Friedemann Kleint
d9513ac673 Debugger[CDB]: Work on Qt 5 types.
Task-number: QTCREATORBUG-5475

Change-Id: Ic034f0f73a9dc375751dcb7dc463786ba596bec9
Reviewed-on: http://codereview.qt.nokia.com/2296
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2011-07-27 17:15:10 +02:00
Friedemann Kleint
a83d463fa5 Debugger[CDB]: Make Qt 5's QString/QByteArray editable.
Introduce struct & routine to return address data for QStrings/
QByteArray of versions 4,5 and use that.

Change-Id: I0603d160561bd28ef13bf79739b44b8af439bd93
Reviewed-on: http://codereview.qt.nokia.com/1770
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2011-07-18 15:13:56 +02:00
Friedemann Kleint
8a28b3c01c Debugger[CDB]: Dump Qt5's new QString, QByteArray classes.
Task-number: QTCREATORBUG-5475

Change-Id: Iee10910e55df8b8308711818da2847b09a52fe92
Reviewed-on: http://codereview.qt.nokia.com/1711
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2011-07-15 17:14:55 +02:00
Friedemann Kleint
f231c2468b Debugger[CDB]: Display VTable-pointers as hex.
Task-number: QTCREATORBUG-5381

Change-Id: I840296ddfb297f2a60c8d2e83c541c75df1aa23d
Reviewed-on: http://codereview.qt.nokia.com/1504
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2011-07-12 11:42:50 +02:00
hjk
6e5908625f debugger: show cdb vtable pointer in hex
Change-Id: I8deb537ce837e54315b0f0a64897363f70344137
Reviewed-by: Friedemann Kleint
Task-number: QTCREATORBUG-5381
Reviewed-on: http://codereview.qt.nokia.com/1405
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2011-07-11 12:33:15 +02:00
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