Commit Graph

253 Commits

Author SHA1 Message Date
David Schulz
70336e3080 Debugger: Add CDB symbol cache option.
Change-Id: I9c4ec9bbcc0216271d6e4d10e9f6e925d3569cea
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-05-15 14:02:17 +02:00
David Schulz
7bace63bde Debugger: Remove unneeded function from CdbOptions.
Change-Id: If9c6dd0f2fc53b7f5c7e5868bd57d01c9fc84d24
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-05-15 10:02:48 +02:00
David Schulz
18dff5392c Debugger: Add wow64 support to the cdbengine.
Change-Id: I1819c42438609553ce277e01b7c8a2d4fffbfb1b
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-05-14 11:30:49 +02:00
hjk
fa2ac44271 Debugger: Add a convenience function GdbMi::toInt()
Saves some line noise on the user side.

Change-Id: I9c6d7542195fc7485ac4ee466cd42a28be95b8da
Reviewed-by: David Schulz <david.schulz@digia.com>
2013-05-07 13:24:48 +02:00
hjk
9b8b8ba97b Debugger: Replace GdbMi::findChild() with an operator[]
Less noise.

Change-Id: I8e533c97207ff5b9c79182c4fb99993f1992154f
Reviewed-by: David Schulz <david.schulz@digia.com>
2013-05-06 14:41:08 +02:00
hjk
ed890bc940 Debugger: Move dockwidget object names into a more private place
Change-Id: I5a3565179fdd8627387ba01370e6484d668e2160
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-04-23 17:36:36 +02:00
hjk
87f2d83ec2 Debugger: Add basic breakpoint handling and stepping to LLDB backend
Change-Id: Ib700afa63739e6d26bdd97225265559d7112eadb
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-04-10 15:58:02 +02:00
Tobias Hunger
ddafdf55de CppTools: Rename files to comply with coding standard
Rename ModelManagerInterface.(h|cpp) to cppmodelmanagerinterface.(h|cpp).
Rename TypeHierarchyBuilder.(h|cpp) to typehierarchybuilder.(h|cpp).

Change-Id: I035d833fd205d7460819bd0fb7031294359032f9
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2013-04-10 11:43:22 +02:00
Tobias Hunger
ea23948efb CppTools: Use namespace CppTools consistently
There were quite a few classes using CPlusPlus namespace in the
CppTools plugin. Rename them and do some other small namespace
related coding style fixups.

Change-Id: I093fc1f3fc394fd9923e3f18d5f66522e288f21d
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2013-04-08 13:21:31 +02:00
Friedemann Kleint
01d4fe8520 Remove internal class BaseTextMarkRegistry from exported header.
Change-Id: Ieeffe65be2d7c8f07f41f7211853d616a6aceb85
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
2013-03-26 17:03:08 +01:00
Friedemann Kleint
85d12bb409 Clean headers in debugger plugin.
Change-Id: Ia50e61a82101b699390b23b4f1ea9509619314bb
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-03-22 10:00:00 +01:00
Eike Ziller
99b2eb1ca9 Merge remote-tracking branch 'origin/2.7'
Conflicts:
	doc/src/debugger/qtquick-debugger-example.qdoc

Change-Id: If9a6ac2db76773c50aae26c5156e6aa2603329b3
2013-03-18 10:19:14 +01:00
Christian Kandeler
7a5f858358 Debugger: Remove unneeded #ifdefs from CdbEngine.
Turn compile-time checks for host OS into runtime checks,
where possible.

Change-Id: I7ff26f6a49c0da4504427757b15959cdc193ee79
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-03-14 14:45:52 +01:00
David Schulz
fda503748d Debugger: CDB: Don't add a task for the wow64 exception.
Task-number: QTCREATORBUG-8886

Change-Id: Idf08562c58e1f02b09ef6ff7a9fb899f1516f9ae
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-03-14 11:27:51 +01:00
David Schulz
e963a43b32 CDB: Only step in frame if it has source information.
Change-Id: I9cf1fae00627bb6bf6bdf79cb99fa173df66ad94
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-03-13 11:18:45 +01:00
David Schulz
4f73265f8c CDB: Added the cdbext.locals command output
...to the debugger log.

Change-Id: I638366ba3a4ded8d63cfbbb2dd3025a613b203b2
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-03-07 10:20:28 +01:00
David Schulz
6b28086633 Debugger: Fix stepping out of disassembled function.
Shows the sourcecode if the frame contains a valid file.

Change-Id: Ie5a38365f5bf5655078872d29066a9cccedf580b
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-02-20 15:06:14 +01:00
Tobias Hunger
67513bcfef Fix tasks about exceptions caught by CDB on windows
Task-number: QTCREATORBUG-8723

Change-Id: I8d6b42f435cc6814a263361e24a415d1a63b4e60
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-02-13 10:41:54 +01:00
Aurindam Jana
677edc30dc Debugger: Add a field for source path map in DebuggerStartParameters
Change-Id: Ie79cdcd5c32a2204ac4b701c253d6d76bd271272
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-02-07 13:03:11 +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
Friedemann Kleint
2970a036d8 CDB: Use maxStackDepth and implement reload full stack.
Task-number: QTCREATORBUG-7320

Change-Id: I78bf8cf63fa892f2a6771911333c246839439bf4
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-01-31 16:07:56 +01:00
Friedemann Kleint
72421c18c1 CDB: Pass settings maxStringLength and maxStackDepth to extension.
Change-Id: I602aa3758817026c8b4cbda1cc9fa9eff95fc691
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-01-31 15:48:31 +01:00
Fawzi Mohamed
18fa486531 consoleprocess: support Terminal.app on mac
Distinguishes the process that starts the terminal from the stub
process, as on mac to support Terminal.app they are different.

Handle the stub not through the process that starts the terminal,
but through the local socket (on *nix).

Replace the blocking wait(...) in the main thread, with a nonblocking
wait in the signal handler when receiving a SIGCHLD, to leave the
main thread able to handle communication with creator.

This change allows the use of terminal emulator commands
that share a single instance or that fork.
So this is also the real fix for QTCREATORBUG-1633 on linux.

If creator crashes the stub and the debugged program live on.
This was done on purpose, it could be changed if considered better.

Task-number: QTCREATORBUG-6371
Task-number: QTCREATORBUG-1633

Change-Id: I4d4fb3a67b1987f4e46e2c603dcefe8c15152ad2
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-01-29 17:56:59 +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
hjk
b6f187d0f2 Debugger: split editor related code off watchutils.{h,cpp}
This is now in sourceutils.{h,cpp} to make watchutils.{h,cpp}
better acessible to the debugger auto-tests.

Change-Id: Ie87e715bc7018ca190a460c37dfd19bc897059f0
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-01-25 13:54:34 +01:00
hjk
e52a35a239 Debugger: rename gdb/gdbmi.{h,cpp} into debuggerprotocol.{h,cpp}
The scope is a bit broader nowadays.

Change-Id: I9578da94f06df199be5668c1751fd7bfb37f1c5b
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-01-24 11:05:36 +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
2344456b3f CDB: Support for displaying QImage.
Change-Id: Ic1a4a0e6767a0cecb1fd869bbcfd9673854631aa
Reviewed-by: hjk <qthjk@ovi.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2012-12-29 20:05:45 +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
Friedemann Kleint
c6c658bb4f Debugger: Fix break at qWarning()/qFatal() for Qt 5.
Use the same setting in CDB, move it to common settings page
in a follow-up commit.

Change-Id: I67d6cd706f658c616a431e9d518d52e020afa54c
Reviewed-by: hjk <qthjk@ovi.com>
2012-12-20 17:32:04 +01:00
Friedemann Kleint
278c0fef74 CDB: Start all CDB breakpoint IDs at 1000.
Avoid clashes with breakpoints resulting from options
(break at functions from options, potentially using bm).

Change-Id: I3746f5a246d7bbeea36df412460edf3f2a90e2c0
Reviewed-by: hjk <qthjk@ovi.com>
2012-12-20 15:34:05 +01:00
Orgad Shaneh
a44aa55502 Add whitespace after control keywords
find -name \*.cpp -o -name \*.h | \
  xargs sed -Ei 's/ (for|foreach|if|switch|while)\(/ \1 (/g'

Change-Id: I9efdff4bf0c8c01a52baaaeb75198483c77b0390
Reviewed-by: hjk <qthjk@ovi.com>
2012-11-28 20:20:46 +01:00
David Schulz
eb39b57e24 Debugger: Dont use win64interrupt.exe in some case
If everything is built with 32 bitness there is no need
to call win64interrupt.exe

Task-number: QTCREATORBUG-7891

Change-Id: I1981b0dfd0ff08ff8acce0e5b81858b00f536ded
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: hjk <qthjk@ovi.com>
2012-11-19 10:18:49 +01:00
Eike Ziller
fe74a9a722 Merge remote-tracking branch 'origin/2.6'
Conflicts:
	qtcreator.pri
	qtcreator.qbs
	src/plugins/fakevim/fakevimhandler.cpp
	src/plugins/qtsupport/baseqtversion.cpp
	tests/auto/cplusplus/cxx11/cxx11.pro
	tests/auto/cplusplus/cxx11/tst_cxx11.cpp
	tests/auto/icheckbuild/icheckbuild.pro

Change-Id: I3c8351ad35617f56d15b788c8a46d8a6f453ef70
2012-11-09 11:20:10 +01:00
Friedemann Kleint
518b6fcebc CDB: Add setting to ignore first-chance exceptions.
- Add setting for command line option -x.

Task-number: QTCREATORBUG-8141

Change-Id: Id53b9d7d207e2e2c86886db9d0a8c9f5348b659b
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-11-06 12:29:02 +01:00
Friedemann Kleint
41a5461cf2 Debugger: Log exceptions in build pane.
- Introduce constants for task categories, add "RunTime".
- Log exceptions under "RunTime".
- Clear pane on debugger start.
- Add 'first chance'

Task-number: QTCREATORBUG-8141
Change-Id: Icf68def06c42a0f3bb86dcc2ae74750b5397ca52
Reviewed-by: hjk <qthjk@ovi.com>
2012-11-02 16:22:12 +01:00
Friedemann Kleint
2e40c54ea3 Debugger: Remove #ifdef Q_OS_WIN from hostutils.
- Provide stubs for Non-Windows
- Reduce #ifdefs, check Abi if possible.
- Remove unused winGetCurrentProcessId().

Task-number: QTCREATORBUG-8141
Change-Id: I80558ca4e52e87c7371597ea07c091af08097b34
Reviewed-by: hjk <qthjk@ovi.com>
2012-11-02 15:40:41 +01:00
Friedemann Kleint
e3e8cc4386 CDB: Quote executable in debugger launch.
Task-number: QTCREATORBUG-8125
Change-Id: Iaed1a7a4d68c50f8f06dc6be4b9a73933e835988
Reviewed-by: hjk <qthjk@ovi.com>
2012-11-02 08:36:06 +01:00
hjk
0d9a56ab3f Debugger: Rework thread data aquisition
Listen to gdb/MI notifications when possible. This is more
granular, gives access to the thread group id and takes
care of thread changes at any time.

Change-Id: I8c67f6f19b204059deefdf7e07fe3b4ce13ed963
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2012-10-23 19:35:14 +02:00
Eike Ziller
70b5e1f64d Merge remote-tracking branch 'origin/2.6'
Conflicts:
	src/plugins/qt4projectmanager/qt4buildconfiguration.cpp
	src/plugins/qtsupport/baseqtversion.cpp

Change-Id: Id870f70aa35c232dbbd455f83429bab80f266c2d
2012-10-16 17:42:10 +02:00
Erik Verbruggen
f3faef5a1e C++: Fix outdated macro usage info in documents.
Record revisions of documents in macro definitions and usages. Then,
when searching for usages, check the revision of the documents against
the revision of the macros. If they are out-of-sync, repreprocess the
documents to get up-to-date info.

Task-number: QTCREATORBUG-7872
Change-Id: I846bb52ec660024728ab117a9fb7e43382a50e63
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2012-10-15 10:58:07 +02:00
Eike Ziller
6fd252b0a5 Merge remote-tracking branch 'origin/2.6'
Conflicts:
	share/qtcreator/qml/qmlpuppet/commands/endpuppetcommand.cpp
	share/qtcreator/qml/qmlpuppet/commands/endpuppetcommand.h
	src/plugins/debugger/qtmessageloghandler.cpp
	src/plugins/debugger/qtmessageloghandler.h
	src/plugins/debugger/qtmessagelogwindow.cpp
	src/plugins/madde/maemodeployconfigurationwidget.cpp
	src/plugins/madde/maemodeployconfigurationwidget.h
	src/plugins/remotelinux/deployablefilesperprofile.cpp
	src/plugins/remotelinux/deployablefilesperprofile.h
	src/plugins/remotelinux/deploymentinfo.cpp
	src/plugins/remotelinux/deploymentinfo.h
	src/plugins/remotelinux/deploymentsettingsassistant.cpp
	src/plugins/remotelinux/profilesupdatedialog.cpp
	src/plugins/remotelinux/remotelinuxdeploymentdatamodel.h
	tests/auto/icheckbuild/ichecklib.cpp
	tests/auto/icheckbuild/ichecklib_global.h
	tests/auto/icheckbuild/parsemanager.cpp
	tests/auto/icheckbuild/parsemanager.h
	tests/manual/ssh/tunnel/tunnel.h

Change-Id: I04d7761df6bd936ad00e0547974284c967d39580
2012-10-05 21:20:50 +02: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
Christian Kandeler
89fa7823b3 Replace all remaining functions deprecated in Qt 5, if possible.
These are:
    - QInputDialog::getInteger() [-> getInt()]
    - QKeySequence::operator QString() [-> toString()]
    - QRegion::intersect() [-> intersected()]
    - qVariantCanConvert() [-> QVariant::canConvert()]

Plus some left-over occurrences of qFindChild() and
QAbstractItemModel::reset() that were missed by the
respective earlier patches.

All deprecated features still left are not trivially
replaceable, i.e. the code using them cannot be made
to compile with both Qt 4 and Qt 5.

Change-Id: I32541681bbf66b0fef78f5c7025521f9ff84f463
Reviewed-by: hjk <qthjk@ovi.com>
2012-09-25 11:01:04 +02:00
Christian Kandeler
3d9e492860 Do not use the fromAscii() and toAscii() functions.
They are deprecated in Qt 5. Use fromLatin1() and toLatin1() instead. In
Qt 5, these always do the same thing as their "Ascii" counterparts. The
same goes for Qt 4, provided QTextCodec::setCodecForCStrings has not
been set, which it hasn't.

Change-Id: I04edeb376762b6671eff8156094f0d5e2cb8e1ea
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2012-09-21 21:03:48 +02:00
Christian Kandeler
1b3d637c1b Replace qVariantValue() with qvariant_cast().
qVariantvalue() is deprecated in Qt 5. qvariant_cast() does
the same thing and works in Qt 4 and Qt 5.

Change-Id: I922329d3a47fe394669f5d97a25f0825d3d2dea5
Reviewed-by: hjk <qthjk@ovi.com>
2012-09-20 09:41:37 +02:00
Friedemann Kleint
6886e485de Handle watching/tooltips of C++ editor tokens consistently.
For editor tooltips and the editor context menu
'Watch expression', always try to find a local variable first
and use its expression.

Change the tooltip manager/widgets not to rely on the debugger
model enum and obscure expression, filter by complete iname
instead. Remove obsolete enumeration.

Change gdb's handling of tooltips such that local variables
are displayed immediately without creating additional tooltip
items.

Change-Id: I9b55823428029ba50d84d3a8cab55eb58942e72b
Reviewed-by: hjk <qthjk@ovi.com>
2012-09-03 09:02:56 +02:00
Friedemann Kleint
e67e58378d Debugger: Use gdb's tooltip expression fixup for CDB and editor.
Factor out to watchutils.

Change-Id: I8cf316be819d765dcea964ac6405bfa9b075de59
Reviewed-by: hjk <qthjk@ovi.com>
2012-08-31 08:56:22 +02:00