Commit Graph

45 Commits

Author SHA1 Message Date
David Schulz
48f161641a Debugger cdb: Fix dump of unsigned __int64 for cdb 6.11
The local variable output of unsigned __int64 differ between 6.11
and 6.2

6.11: 0x222`23456789
6.2:  0x00000222`23456789

So we must iterate over the value to find and remove the 64bit separator
(`) instead of just expect it at the 10th character.

Change-Id: I8017c83707b29fa0a510bf621e57e9da6895b63a
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-08-06 14:18:49 +02:00
Leena Miettinen
41411165ba Doc: use standard wording in \brief commands
QDoc does some magic with the \class and \namespaces
and \brief commands, so the following wording must be used:
"The xxx class yyy ..."

Change-Id: Id231f30e8464898b776888d5423523de404aae34
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2013-06-20 11:22:47 +02:00
David Schulz
bee3cc3d63 cdbext: Generate values for QDate, QTime, QDateTime
... in the watchdata via flags.

Change-Id: I4664807713cc7747216de5abaabf30011921ab4c
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-03-19 16:29:18 +01:00
hjk
e1f8ed7384 Debugger: Sort out the 'address' vs 'origaddr' fields
Now 'address' always refers to the address of the object or
field mentioned in a WatchItem whereas 'origaddr' is
optionally used for the address of the pointer (not its
value) pointing to the object/field in case of "autoderef"
pointers.

Change-Id: I718eb13e6147dafca016c85db6c8b31c631cc764
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-03-08 17:29:06 +01:00
Leena Miettinen
419c6de735 Doc: replace deprecated QDoc commands
The \i and \o commands were replaced with \li and
\bold was replaced with \b in QDoc for Qt 5.

The \input command was replaced with \include in the docs.

Change-Id: I257d1bebb8ebc739ca20e0d29fcf0406ecb14534
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-02-06 09:44:18 +01:00
Oswald Buddenhagen
1fda2111d4 Merge remote-tracking branch 'origin/2.6'
Conflicts:
	src/plugins/autotoolsprojectmanager/AutotoolsProjectManager.pluginspec.in
	src/plugins/debugger/qtmessageloghandler.cpp
	src/plugins/debugger/qtmessagelogwindow.cpp
	src/plugins/madde/maemodeployconfigurationwidget.cpp
	src/plugins/qmldesigner/components/integration/designdocumentcontroller.cpp
	src/plugins/qmldesigner/designercore/include/widgetqueryview.h
	src/plugins/qmldesigner/designercore/metainfo/metainfoparser.cpp
	src/plugins/qmldesigner/designercore/model/modelnodecontextmenu.cpp
	src/plugins/qmldesigner/designercore/model/modelnodecontextmenu.h
	src/plugins/qmlprojectmanager/qmlprojectapplicationwizard.cpp
	src/plugins/qnx/bardescriptormagicmatcher.h
	src/plugins/qt4projectmanager/profilekeywords.cpp
	src/plugins/remotelinux/deployablefilesperprofile.cpp
	src/plugins/remotelinux/deployablefilesperprofile.h
	src/plugins/remotelinux/deploymentinfo.cpp
	src/plugins/remotelinux/deploymentsettingsassistant.cpp
	src/plugins/remotelinux/profilesupdatedialog.cpp
	tests/auto/icheckbuild/ichecklib.cpp
	tests/auto/icheckbuild/parsemanager.cpp
	tests/auto/icheckbuild/parsemanager.h

Change-Id: Ie465a578446a089e1c502d1cb1096e84ca058104
2013-01-31 16:25:33 +01:00
Robert Loehning
298531e370 Incremented year in copyright info
Change-Id: Ic6a9ff0359625021ebc061d22db6811814534205
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2013-01-29 16:27:03 +01:00
Orgad Shaneh
29a93998df Remove braces for single lines of conditions
#!/usr/bin/env ruby

Dir.glob('**/*.cpp') { |file|
  # skip ast (excluding paste, astpath, and canv'ast'imer)
  next if file =~ /ast[^eip]|keywords\.|qualifiers|preprocessor|names.cpp/i
  s = File.read(file)
  next if s.include?('qlalr')
  orig = s.dup
  s.gsub!(/\n *if [^\n]*{\n[^\n]*\n\s+}(\s+else if [^\n]* {\n[^\n]*\n\s+})*(\s+else {\n[^\n]*\n\s+})?\n/m) { |m|
    res = $&
    if res =~ /^\s*(\/\/|[A-Z_]{3,})/ # C++ comment or macro (Q_UNUSED, SDEBUG), do not touch braces
      res
    else
      res.gsub!('} else', 'else')
      res.gsub!(/\n +} *\n/m, "\n")
      res.gsub(/ *{$/, '')
    end
  }
  s.gsub!(/ *$/, '')
  File.open(file, 'wb').write(s) if s != orig
}

Change-Id: I3b30ee60df0986f66c02132c65fc38a3fbb6bbdc
Reviewed-by: hjk <qthjk@ovi.com>
2013-01-08 10:48:18 +01:00
Friedemann Kleint
99f542354a CDB: Enable "Separate Window" format for standard strings.
- Always retrieve memory for std::strings.
- Enable type format.

Change-Id: I7bd00adbbeff0c4cc380b3ec078df408440302b4
Reviewed-by: hjk <qthjk@ovi.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2012-12-29 20:05:32 +01:00
Friedemann Kleint
5f04706a88 Implement basics for edit value handling in CDB.
- Add routine for formatting edit values.
- Optionally store memory in SymbolGroupNode (along
  with special info) to be able to re-use it for
  edit values using a simple convenience class
  MemoryHandle.
- Prototypically implement QString and QByteArray / Qt 5.

Task-number: QTCREATORBUG-8344

Change-Id: I6d2cac7a1e9ac48e94335142c41dc1bfb984c515
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2012-12-21 15:41:39 +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
a31e8b446e CDB: Pass referenced address in separate GDBMI field.
Use 'origaddr' as gdb does. Do not append address to watch value
if it is already contained in the value.
Fixes the currently grayed-out 'Open memory editor at referenced
address'.

Change-Id: I6f7cf5b7984f93606ad4bb0872348f51c73f9117
Reviewed-by: hjk <qthjk@ovi.com>
2012-08-21 13:55:54 +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
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
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
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
f63a969c8a Debugger[CDB]: Fix setting individual formats by iname.
Do not hex-decode names.

Change-Id: I0b9b6df2524cdf66bc34958bbab5bbc28f8a73db
Reviewed-on: http://codereview.qt.nokia.com/3172
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2011-08-18 12:13:18 +02:00
Friedemann Kleint
9592eb5383 Compile.
Change-Id: I9e2f02bfa3dcc2e3ab2895620ee3f163edc3d764
Reviewed-on: http://codereview.qt.nokia.com/2749
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2011-08-08 15:06:37 +02: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
ee7b327f4c Debugger[CDB]: Fix bug in updating pointer-type watch items.
Collapse pointer-type items in watch symbol group when updating.

Task-number: QTCREATORBUG-5652
Change-Id: I077120c7352da5bc330bb000786a50432bb47738
Reviewed-on: http://codereview.qt.nokia.com/2424
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2011-08-01 08:38:38 +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
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
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
122f6a1845 Debugger: Add size to watch data.
Have CDB report it, pass it on to adding watches.
2011-04-04 16:15:03 +02:00
Friedemann Kleint
e216a52456 Debugger: Use watchmodel reformatting for char* data.
Pass data in binary form in case of unprintable characters
such that watchmodel reformatting can be used (instead of
appending a hex dump in the extension).
2011-02-21 14:19:41 +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
7d72445bc0 Debugger[New CDB]: Qualify types in watch expressions by module.
... to make them faster. Check for watch expressions
of the form '*(Type *)0xaddr' and insert module for non-PODs.
Add testing command.
2011-01-17 14:52:04 +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
542f21dcfb Debugger[New CDB]: Fix dump recursion.
To suppress 3rd order children for nested containers
(taking reference nodes into account).
2011-01-07 13:49:53 +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
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
b7df5467d8 Debugger[New CDB]: Split up long extension messages.
To accommodate the limitation of output line width of CDB.
2011-01-04 12:40:52 +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
Friedemann Kleint
8095a25709 Debugger[New CDB]: Dump std::map,std::multimap and std::set.
Rebuild the structure in memory as back-expanding parent
pointers seems to fail sometimes.
2010-12-20 17:11:37 +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
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