Commit Graph

1162 Commits

Author SHA1 Message Date
hjk
994075dde1 Debugger: Merge {Abstract,Local}GdbProcess to GdbProcess
Change-Id: I46e8b4347205791eeb6ebd3ebbde9a993d892e93
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-09-10 16:59:21 +02:00
hjk
8bffed4d10 Debugger: Merge {Abstract,Local}PlainAdapter to GdbPlainEngine
Change-Id: Idb2197e429df2fb166f042649d3e95e88c28203e
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-09-10 16:36:15 +02:00
hjk
ed1483741e Debugger: Remove RemoteGdbProcess and RemotePlainGdbAdapter
Should be superseded by using a LocalAdapter variant with
(remote) DeviceProcess.

Change-Id: I9834105ff677bfe5ca527778e9795efc3b677393
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
2013-09-10 16:35:55 +02:00
Leena Miettinen
2b573a6d82 Doc: edit debugger API docs
Remove \brief commands from function descriptions.
Use QDoc commands for notes and lists.
Write GDB in all caps.
Fix punctuation and style and grammar issues.

Change-Id: I7f5bf0f53ad643eb4e2981c0d4e39c453dff5558
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-09-09 12:55:15 +02:00
Christian Kandeler
72d173829c Remove superfluous include paths from project files.
A lot of our build system files specify unneeded include
paths. These roughly fall into the following categories:
    a) Paths that are already set in more general files
       such as qtcreator.pri.
    b) Paths that serve no purpose at all, possibly
       left over from earlier versions of the project.
    c) Paths that act as workarounds for wrong include
       statements of the form '#include "xyz.h"', where
       xyz.h is not in the same directory as the including
      file.
This patch removes such path specifications and fixes the offending
include statements from case c).
Tested on Linux, Windows and OSX with qmake and qbs.

Change-Id: I039a8449f8a65df0d616b4c08081145c18ae4b15
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-09-02 17:28:17 +02:00
hjk
de1ec22424 Debugger: Don't enable gdb remote cache by default
The reasons for the always using this are history.

Change-Id: If2b888eeea2af37fe56bdcb934b525e87976acbc
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-08-30 16:28:31 +02:00
hjk
99f22de6ba TaskHub: Add convenience function to add a task and clean up users
Change-Id: I5c76f8af720092d4e47b1a9fa889fb3a7010f21f
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-08-30 12:44:10 +02:00
Oswald Buddenhagen
c2e90c360b Merge remote-tracking branch 'origin/2.8'
Conflicts:
	src/plugins/cpptools/cppcompletion_test.cpp
	src/plugins/cpptools/cpptoolsplugin.h
	src/plugins/projectexplorer/customtoolchain.cpp
	src/plugins/vcsbase/command.cpp

Change-Id: Ie7b3c9e136c0748b41320227c757471259339b48
2013-08-21 14:39:18 +02:00
Nicolas Arnaud-Cormos
14d05eade8 Fix compilation errors
Change-Id: I6b0d4956b5dcbd13ee26c72081f77e5d8a4f219b
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-08-19 12:47:59 +02:00
hjk
ad9c51a486 Debugger: Make Creator work with a GDB using Python 3.x
Even if current GDB git does not compile in that configuration,
some people seem to be able to get this up and running, leading
to dumper load failures and fallback to the no-more-existing
compiled dumpers.

Change-Id: I08ba6c43105c28b3406fce36049bfdf633e79e31
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Reviewed-by: David Schulz <david.schulz@digia.com>
2013-08-16 14:13:34 +02:00
Orgad Shaneh
fe4b6feeb3 Debugger: Pass data-directory to gdb on Windows
Required for gdb 7.6

Change-Id: I5d02a6b712fbd5c3f70ac4c83871b03197f95696
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-06-19 17:52:21 +02:00
hjk
e40308ab1b Debugger: Remove in-plugin dumper autotest handling
It's covered by tst_dumper nowadays.

Change-Id: Id6b91e5a4ad2ac2472d598c4f0ba4c95c334af6d
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2013-06-07 15:48:43 +02:00
hjk
cbcd0bee3f Debugger: Suppress GDB's memory-changed notification
Change-Id: I266b1cef33e53250da79fac0473c3d45eb740ddb
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-06-06 18:37:40 +02:00
hjk
c2d6081a6c Debugger: Don't check for existence of gdb.inferior.threads()
All supported versions have it in that context.

Change-Id: Iafff4760ba521ffc9abc4e05dbbc9263ed6fe21a
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2013-06-06 14:06:16 +02:00
Orgad Shaneh
81fc8ff210 Doc: Remove \fn lines adjacent to functions
They are unneeded, some of them are unmaintained

Change-Id: I0ad87e152d8e2328b486b2f904f7cf9613004afe
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2013-06-05 10:07:14 +02:00
hjk
c7ea186df9 Debugger: Always check for availability of python with GDB
Trying to avoid that round-trip on versions that are known to
not have it puts us on the mercy of detecting the version,
which is unreliable by nature, and bad in practice, as proven
by the recent MinGW builds.

Change-Id: I122eb03fe0ddcb193ed8d45e672564f7113b662f
Reviewed-by: Ray Donnelly <mingw.android@gmail.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-06-04 08:29:55 +02:00
hjk
76fc972277 Debugger: Add specific customization hook for dumper initialization
We need to distiguish between start of GDB itself (a.k.a .gdbinit-style
customization) and after the dumper machinery is initialized, which is
nowadays often delayed until the first stop hook.

Change-Id: I40f1e7225c2043b8bcb7d50eef948bb3c9162bb6
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-06-03 17:27:39 +02:00
hjk
db4a8caf32 Debugger: Move warning of insufficent python version
It was in exactly the wrong branch.

Change-Id: I0679c18dc9c049bb89c2cba47cb0762ad81e3024
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-06-03 12:38:52 +02:00
hjk
38e98e60d5 Debugger: Fix typo when checking versions
Change-Id: Ic24e7f26228b4f1bc1e7ab3627e86036396584ed
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-05-28 13:12:16 +02:00
hjk
22c5d99fcb Debugger: Disable some commands on Mac
Version of gdb < 7.4 means we are on Mac, so we can
disable commands that have known results there.

Change-Id: I8fc97ed61c47af2c3d9e5cc2bf83e97661204d4f
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-05-28 12:38:10 +02:00
hjk
af69f732f1 Debugger: Hard-code version dependency of m_dissembleUsesComma
We don't support GDB in the range 7.0...7.3 anymore where the
outcome was unsure.

Change-Id: I1ce76f5c4b1febe45c4a3b6404208fed7d9c6868
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-05-28 12:37:27 +02:00
hjk
91ba674db4 Debugger: Remove workaround for gdb-7.1 bug
See sourceware.org/bugzilla/show_bug.cgi?id=12023.
The workaround can cause hickups in the output parser
of Mac gdb, as the error message is scattered within
regular output without any markup.

Change-Id: I835133e390403a0f8f6aa573d6f9c63cf0784187
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-05-28 12:37:02 +02:00
hjk
0a9665077a Debugger: Restrict use of system GDB pretty printer to version 7.4
Reduce compatibility issues e.g. on Mac. The previous versions
are not working well anyway.

Change-Id: If6cc7c1d4a85300d9bf054966216b52b35c0d1f2
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-05-26 15:31:02 +02:00
Eike Ziller
d8bd56bcd6 Merge remote-tracking branch 'origin/2.7' into 2.8
Conflicts:
	src/plugins/cpptools/cppcompletion_test.cpp
	src/plugins/cpptools/cpptoolsplugin.h
	src/plugins/qbsprojectmanager/qbsbuildstep.cpp
	src/plugins/qbsprojectmanager/qbscleanstep.cpp
	src/plugins/qbsprojectmanager/qbsnodes.cpp
	src/shared/qbs

Change-Id: I8fc97ed61c47af2c3d9e5cc2bf81e97661204d4e
2013-05-24 16:20:10 +02:00
Kai Koehne
0a471cc4fd Set breakpoints only by filename (again)
This essentially reverts 3aa0e50039 , which causes trouble
e.g. for network paths and other corner cases.

Change-Id: I12ceb5fbc68b7a3fc8010165acc910acd2d95e55
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-05-24 12:48:09 +02:00
Orgad Shaneh
05ef32f242 Remove Nokia leftovers
Mostly internal mimetypes

Change-Id: Ia84206f1334c1f83474cbc307e848719bb98adbc
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-05-24 12:29:23 +02:00
hjk
4786cee969 Debugger: Issue "threadnames" command again
Was accidentally disabled in 066efcd6a6.

Change-Id: I64de0609a254aa2914142a4f75105b4140b6ae5b
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2013-05-23 15:07:21 +02:00
Friedemann Kleint
c6bee7e20e Debugger/GDB: Use short paths for breakpoints on UNIX.
Breakpoints by path are not hit if the path traverses
symbolic links.

Change-Id: I3ab5d1bead8333986444aec709c940840dfddbb4
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-05-15 10:20:33 +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
Kai Koehne
3aa0e50039 Debugger: Do not set absolute breakpoints for remote targets
Fixes a regression introduced by cb857b47a

Task-number: QTCREATORBUG-9226
Change-Id: I619df0eb8b5f016aac54a0260eb941fd91a348aa
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-04-30 11:02:42 +02:00
Kai Koehne
cb857b47a2 Debugger: Change default gdb engine breakpoint "path usage" to "full"
Setting breakpoints by file name and line does not work robustly when
using gdb, with neither the full path, nor with just the baseline. Since
typically one of the options work, Creator offers a per-breakpoint choice
of which approach to use. Traditionally, using the full path broke more
often, so the default was "short". Lately (gdb 7.3+) using the full path
seems to be more robust, so the default should be changed. Manual
overriding to "short" is still possible.

Change-Id: I9e857c86a63964bdacf9bebc5444ea752e5974f8
Reviewed-by: hjk <hjk121@nokiamail.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-04-25 18:08:22 +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
4d6ce81e0c Debugger: Don't scan directories that do not exist.
Change-Id: Ie79249039643041fd68da6766b0e6f3ca6080b86
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-04-19 15:26:43 +02:00
hjk
5b98167ebd Debugger: Remove common bridge.py
The engines know what they want, no need to guess again.

Change-Id: Ie21b0e08eff8b81b217a08d4c47c35c35ae831d7
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-04-11 18:17:21 +02:00
hjk
17e8631dfb Debugger: Reorganize python dumper loading
- Split off GDB and LLDB specific parts into separate files,
- Trigger loading of dumpers.py and qttypes.py from bridge.py
- Read start up script at startup, not as part of dumper loading

Change-Id: I7941ee535121fa0f43a466e5bb75a18c9bb19764
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-04-10 15:58:12 +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
Eike Ziller
65654e4a50 Merge remote-tracking branch 'origin/2.7'
Conflicts:
	src/plugins/android/androidrunner.cpp
	src/plugins/clearcase/clearcasesync.cpp
	src/plugins/fakevim/fakevimhandler.cpp
	tests/auto/ioutils/ioutils.pro

Change-Id: I31587b8a4dd6aacc1e76803159da51a972878370
2013-04-08 13:26:37 +02:00
hjk
066efcd6a6 Debugging on Android
This implements the host side of
https://codereview.qt-project.org/#change,50290

Change-Id: I13c7df29534a2a85202c2b295b139896443b0120
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Reviewed-by: BogDan Vatra <bogdan@kde.org>
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-04-08 12:05:44 +02:00
hjk
6bb0024140 Debugger: Make adding tasks for missing debug info packages optional
Task-number: QTCREATORBUG-8949
Change-Id: If0cf1c1078a72a3e4a3d371d236bacac858b8046
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-04-02 13:51:25 +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
hjk
e14bbccb04 Debugger: Add an option to import plain gdb pretty printers
This enables the use "official gdb"-styly pretty printers from
within Creator. In case there are both variants, Creator-style
pretty printers are preferred.

Change-Id: Iaa178d922dae4eaa1943e9d5b960a666f80fe4db
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-03-22 08:31:59 +01:00
hjk
e1c4f12de4 Debugger: Split GDB option pages into two
It's getting crowded...

Change-Id: I24c1a87b013af485743573df7669739ad93f8a89
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-03-22 08:31:41 +01:00
Eike Ziller
3bc622400d Merge remote-tracking branch 'origin/2.7'
Conflicts:
	src/plugins/debugger/gdb/gdbengine.cpp

Change-Id: Ic8590ad97d7349ed7601a49c4fd873ffc9a5f9b5
2013-03-12 10:56:52 +01:00
Friedemann Kleint
056e8aa4c2 Fix some Krazy warnings about non-const ref iterator.
Change-Id: I1c78f5f5a7174002cd25bea109d5fe795530cdb5
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-03-11 17:31:07 +01:00
hjk
82648e652e Debugger: Split out sub-breakpoint parsing
This is in anticipation of a change of behavior break in the GDB/MI
protocol, see http://permalink.gmane.org/gmane.comp.gdb.patches/83936.

Change-Id: I135c0a342da1fed13aaedfd9e27499d5ad892c5a
Reviewed-by: David Schulz <david.schulz@digia.com>
2013-03-08 16:36:38 +01:00
David Schulz
e03f7da72b CDB: Warn on release build.
Task-number: QTCREATORBUG-8820

Change-Id: If48429fc80d3b928cba4622ff6b168dca8289500
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-03-06 07:41:50 +01:00
hjk
1566582a8c Debugger: Disable DebugInfoTaskHandler
This only worked for distributions with a RedHat/Fedora upstream
so far and requires more dynamicity in the TaskWindow as the
TaskHandler dies with the engine, leading to crashs.

Change-Id: I20d0b3c79e4fd0026cd2a0c9ff5b0a4be22c3121
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-02-27 17:11:51 +01:00
hjk
444c5ae11c Debugger: Fix setting of some disabled breakpoints
As we disable of 'by-address' breakpoints by default after each
debugger run as they are unlikely to be correct on the next run,
starting with disabled breakpoints might happen. Disabling it
immediately is faster and less racy than relying on the 'change
needed' mechanism.

Change-Id: Icc5548d322f7ef4f099d218b4f04b4c40e3cb850
Reviewed-by: David Schulz <david.schulz@digia.com>
2013-02-26 15:04:45 +01:00