1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-23 22:52:11 +02:00
Commit graph

24967 commits

Author SHA1 Message Date
Sergey Prigogin
83cac8d70e Cosmetics
Change-Id: Iafd277ea476c66fd0639364e4040a3b91cda7a2a
2016-11-29 02:30:32 -04:00
Sergey Prigogin
64cf0c8c51 Cosmetics
Change-Id: I25ee17f987444b59fab219ca05d46a6fa0bf0ed3
2016-11-28 17:42:00 -08:00
Simon Marchi
e5c63c7cd8 gdb build script: Make the script work with non-absolute base paths
There are two problems when passing a non-absolute path to the -b flag:

1. It ends up being used in "./configure --prefix=${base_dir}".
   configure fails, because the prefix must be absolute.
2. It ends up being used to set up symlinks, leading to broken links.

Making the install path absolute fixes those.

Change-Id: I7c1d22754c1a788f02cd912f2114cc091951b303
Signed-off-by: Simon Marchi <simon.marchi@polymtl.ca>
2016-11-22 16:33:01 -05:00
Doug Schaefer
2e2431dd27 Fix NPE in CMake clean when generator not selected.
Change-Id: Id019a84aaffd597374bc3347229a554acf8d5dce
(cherry picked from commit cb14b447f8)
2016-11-21 15:31:06 -05:00
Marc Khouzam
74e932af4f Typo
Signed-off-by: Marc Khouzam <marc.khouzam@ericsson.com>
2016-11-21 13:54:26 -05:00
Marc Khouzam
c2914e9be9 Add id to GdbFullCliConsole and GdbBasicCliConsole menu
The GdbFullCliConsole has id:  GdbFullCliConsole.#ContextMenu
The GdbBasicCliConsole has id: GdbBasicCliConsole.#ContextMenu

The commit also adds an example of adding a new button to those menus in
org.eclipse.examples.dsf.gdb

Change-Id: If9579e3e60524f39a332df868f512c5f457043ed
2016-11-21 13:22:38 -05:00
Jonah Graham
01b791031c Bug 506382: Be more lenient with GDB protocol error
Due to a GDB bug present in numerous versions of GDB
https://sourceware.org/bugzilla/show_bug.cgi?id=19637
CDT can fail to display advanced memory info and
registers view properly.

This fix is more lenient, and if the user really wants
to see the registers, a workaround for GDB's bug is linked
to.

Change-Id: Ia78947e29a1e446837ef992d470dfd14f047bda2
2016-11-21 04:10:39 -05:00
Sergey Prigogin
352f47bc82 Improved Remove Unused Declarations code reducer
Change-Id: I6d7cdea0fe85df14fe64ea7bd57b88ac27f4f9df
2016-11-20 12:42:15 -08:00
Alvaro Sanchez-Leon
899284e8da Bug 507752 - [debugger console] Check if view is opened in perspective
The Debugger console view should remain visible when switching
perspectives

Change-Id: I22bcfefca980324c9e2918d91217ef83ade056b8
2016-11-18 15:26:11 -05:00
Mikhail Khodjaiants
cce9a941af Bug 506950 - Moving conditional breakpoint to different location can
break synchronization between CDT and GDB

Change-Id: I29e00ae16aba3f7a3b7e035547ad3bcae29afdf8
2016-11-18 14:55:23 -05:00
Sergey Prigogin
a0a959db9d Fixed a misleading dialog title
Change-Id: Icb35ec6128d0b961ab2dc0f8b080466b6a739d10
2016-11-18 13:00:30 -05:00
Marc Khouzam
92515ff23d Reverse order of versions in gdb build script
When building all gdb versions, the older ones have
a greater chance of failing, so should be done last.

Change-Id: I8bb2f600d84cc7a8f97c308995c174124d881d8d
2016-11-18 07:54:27 -04:00
Doug Schaefer
5ba9115c5d Put the Arduino and CMake features into the extra categories.
Change-Id: If371f6bc05aba1ac54221153ec0223a5dde11c56
(cherry picked from commit e88f5d7321)
2016-11-17 19:01:29 -04:00
Simon Marchi
f55a16e8b8 gdb build script: Add missing local variable in check_supported
We use the $version variable in the check_supported function, but it is
not set.  It happens to work because we use the same variable name in
the outer scope, where check_supported is called.

Change-Id: I75e8ae4ef42a232174accf88ca146c0e427f8d4e
Signed-off-by: Simon Marchi <simon.marchi@polymtl.ca>
2016-11-17 10:40:57 -05:00
Marc Khouzam
a39620356c Update p2.inf for 9.3 release
Change-Id: Ia9447fb5845f63da345af084e6cf191eeafc7d6f
2016-11-15 20:50:11 -05:00
Marc Khouzam
8cf5ed53f2 Update version to 9.3.0
Change-Id: Ic953ccc5d38ff3661ca44de21ed8c4b7dad5b246
2016-11-15 20:32:51 -05:00
Marc Khouzam
d7b8286b69 Update p2.inf for 9.2 release
Change-Id: I6d458a1598d21d1cc7f25aa13479f8f30e16adfb
2016-11-15 21:05:18 -04:00
Marc Khouzam
bece8fc16c Revert "Update plugin version and fix @since tag"
Commit 6335a5c2ba reverted
a previous commit which made the changes being reverted
here unecessary.

This reverts commit 896eba55c5.

Change-Id: I890a67513b35df7708f9fc33c0be3e879fdb9e0e
2016-11-15 21:05:03 -04:00
Jonah Graham
03b701c9a5 Bug 494246: prepare command line arguments properly for Windows GDB
Includes splitting out and expanding CommandLineArgsTest
from LaunchConfigurationAndRestartTest.

Change-Id: I19fa97a847d908c1c780ca767cf688f26a51d684
Signed-off-by: Jonah Graham <jonah@kichwacoders.com>
2016-11-15 16:59:57 -04:00
Marc Dumais
2ae122963c Bug 303808 - Silence error changing thread in all-stop
In all-stop mode for a remote session, it's not possible to have the
target switch thread, while the target is running. At the moment, the
GDB focus synchronizer attempts to switch the thread in that case, when
the user switches thread in the Debug View, which can fail and ends-up
logging an error. 

This patch silences this error.

Change-Id: Ib21347fe9f4c31b3a42b4a83d289dbcd10b74a07
2016-11-15 15:48:34 -05:00
Alvaro Sanchez-Leon
31f0cc6476 Bug 303808: Run all-stop mode with target async on GDB 7.12
The previous all-stop implementation use Ctrl-C (variants) to suspend
the target program.  This option is not supported when using the new
GDB full CLI console provided in GDB 7.12.

So the alternative is to send the mi command -exec-interrupt to suspend
the target, however this option requires the use of target async-on mode
(already in use for non stop mode).

This update makes all-stop mode use target async mode when using
versions higher or equal to GDB 7.12.

This update also removes the non-stop mode restriction initially
implemented for the use of the new GDB Full CLI console.

Change-Id: Iabef20bdee814d413fc338f9ec8c2d99d6311c20
2016-11-15 15:11:56 -05:00
Alvaro Sanchez-Leon
36fd126919 Bug 303808: Add a GDB CLI Console history buffer
Change-Id: Ide52d3223b65323f3e9476d2c280d0ebe6640ba8
2016-11-15 11:34:55 -04:00
Jonah Graham
b4cc24e31e Cosmetics
Change-Id: I8036046d2e755de2e77ef5bf6502008d4ada0e49
2016-11-15 04:17:06 -04:00
Marc Khouzam
334777eb6e Update version to 9.2.0
Change-Id: I36ad4218b20b8ea70584c89f5be45c757bf4c714
2016-11-14 23:50:05 -05:00
Sergey Prigogin
3797ebcc83 Made template argument classes final.
Change-Id: I06d532e6b4be8f3684e7d3e1470d10df1985db57
2016-11-14 20:28:53 -08:00
Sergey Prigogin
08eb54b46d Bug 507511 - Template function resolution problem when using index
Change-Id: I7e75a188f8902c6b21f2c96660cc68fcebfdd0db
2016-11-14 20:24:15 -08:00
Doug Schaefer
88b2f8564a Fix up feature names for Neon.2 SimRel repo.
Change-Id: I5436457e553610d0676cc87385c2986040e04f2a
2016-11-14 18:24:02 -05:00
Doug Schaefer
a6c3d5d3f4 Mark CMake feature as experimental.
We will the put it into the simrel repository so people can try it out.

Change-Id: Ie7bd94062cfb236f266e413a8350c214ccdadb2c
2016-11-14 16:52:51 -05:00
Marc Khouzam
39c781f81a Bug 497166: Support the user using the 'run' command in the gdb console
This commit introduces a PersistentPTY.  By using it, we now allow the
user to restart the process from the GDB console (by pressing 'run').
In this case, the I/O will continue using the PersistentPTY.

Previously, the PTY would have been closed, and GDB would fail to
restart the process because it would fail to use the closed PTY.

Change-Id: I395b402e297a2043af8fce33df163eddef9e6c7a
2016-11-14 15:30:23 -05:00
Marc Khouzam
e8480ca0f8 Bug 498782 - add synchronize of process selection between the DV and GDB
This patch synchronizes the GDB focus when the user selects a process
node in the DV.

When the user selects a new process (inferior) from the GDB console, we
are already synchronizing the DV to the thread/frame that GDB selects
from that process.

Change-Id: I11dfd175d51ec49e969f4d07288f80f7ea72a3e1
2016-11-14 10:12:03 -05:00
Marc Khouzam
c2b4f18943 Don't force the GDB console to be shown when created.
When a new launch is triggered and a new GDB console created, it was
shown automatically.  However, if there was a current debug session
where the selection was a stack frame, our sticky policy
(DefaultDsfSelectionPolicy) prevents the new session from being
selected, so the new GDB console shown didn't match the selection in the
DV.

With this patch, when a new GDB console is created, we don't show it
automatically, but let other logic figure out if it should be shown or
not.

Change-Id: If826677a6fb0f925f6b397a13f61fc75fc892748
2016-11-13 22:14:38 -05:00
Marc Khouzam
2cbf669a38 Adding API filter for default method
Change-Id: I3a7441ce7820976b663ba5711e848761c8d41f66
2016-11-13 22:10:24 -05:00
Doug Schaefer
03051c91ab Implement Qt build tab for the launch config dialog.
Make sure Core Build handles the properties set by these tabs
correctly. A bunch of string externalization too.

Change-Id: I54a61b4d2520a0952c43608169747e792826062e
2016-11-11 16:24:40 -05:00
Marc Khouzam
c31b45b5cc Remove interim version of GDB for full console
Now that GDB 7.12 is released, there is no need to support an interim
version.

Change-Id: I7ccfb6b544023468c7511841890d20ea6cf2f5bf
2016-11-11 09:51:49 -04:00
Dominic Scharfe
56c496ba5a Bug 507148. Fixed opening/switching to editor.
- Reuse the TU from the open editor if present, otherwise load it from
workspace
- Added test plugin org.eclipse.cdt.codan.checkers.ui.test

Change-Id: I725b7b8e462ffba39dd6c9a828ab72dd58f86b1f
Signed-off-by: Dominic Scharfe <dominic.scharfe@coseda-tech.com>
2016-11-11 11:18:55 +01:00
Marc Dumais
dc6e3a06ff bug 498782 - [debug] synchronize selection between the DV and GDB
This adds a new service, GDBFocusSynchronizer, that helps keep the
internal GDB selection and the Debug View selection synchronized.

Change-Id: I021b3f65d61e82f6971bdb9232369b6fdf58ea5b
2016-11-10 11:35:27 -05:00
Doug Schaefer
e9beafae10 Add Local Debug for Core Build launches. Qt Path var for Windows.
Adds gdb launching for Core Build launches. A common class is created
for things common to run and debug (and probably others).

At the bin directory containing qmake to the PATH var for builds and
launches since that's where the DLLs are.

Adds method and variable to GDBLaunch to override the default
environment.

Change-Id: I3ab3b48a2f99eaed50cdb4cfdc03959e9700abc5
2016-11-09 11:40:17 -05:00
jantje
5cafc1413a Bug 422378: allow case of getOutputNames() returning null
Allow GnuMakefileGenerator to completely ignore an input file

Change-Id: If4b45db8482b273f4729211d55cfa4f201760b29
Signed-off-by: jantje <eclipse@baeyens.it>
2016-11-08 21:07:28 +00:00
Roland Grunberg
5d6f8c3b2b Bug 507078 - o.e.cdt.launch.remote.source should be in separate feature.
The org.eclipse.cdt.launch.remote feature is the only non-source,
non-sdk feature to include the corresponding source plugin for it's main
provided plugin. An org.eclipse.cdt.launch.remote source-feature should
be created to provide the source plugin.

Change-Id: I2e396270f0d19f023e75452c316da0e4eda495b1
Signed-off-by: Roland Grunberg <rgrunber@redhat.com>
2016-11-04 14:58:12 -04:00
Marc Dumais
735b1ab488 Bug 499230 - Duplicated "-thread-select" and "-stack-select-frame"
Most GDB MI commands support the "--thread" and "--frame" options, that
tells GDB on which thread/stack frame the command is meant to act-on.
For those that don't, CDT has a mechanism to first have GDB switch
thread (MIThreadSelect) or frame (MIStackSelectFrame), before issuing
the command that will act on that entity. Ironically, those two commands
are wrongly identified as not supporting those parameters, and so are
sometimes sent in duplicate, when a single command including the thread
or frame would be possible. This commit correctly identifies those
commands as supporting the thread/frame parameter.

Change-Id: I6e7fc4e873abe36ad024c7131efda7c0aa89dc44
2016-11-04 10:58:29 -04:00
Marc Khouzam
c7526e8a04 Hide 'gdb traces' by default.
Since users don't usually care about seeing the communication between
CDT and GDB, we should not show it by default.  However, once a problem
happens it would be nice to be able to look at the traces even if they
were previously hidden.

This patch has the gdb traces always enabled, but hides the actual
console from the user.  When the user enables the traces, they will be
shown in the Console view, with all previous traces available.

Change-Id: Ifd312aa19e4421b6764169b6199b5e935cf25f87
2016-11-04 06:21:52 -04:00
Nathan Ridge
6c4576281d Bug 506170 - Compute correct associated namespaces for enumeration type
Change-Id: I60ddfd1f98b6f32ad785e8d881704356aff18043
2016-11-04 03:00:47 -04:00
Nathan Ridge
8244bcd33d Bug 506170 - Evaluation of dependent conditional expression
Change-Id: I59355bb40e84662554be76929ba9f9618aec7dba
2016-11-04 03:00:04 -04:00
Doug Schaefer
b6d218a652 Fix no binaries issue with Core Build.
When a second config is added, the binary parsers wasn't getting
reset so the new binary parser wasn't getting called.

Also cleans up the reset to remove the close that happens. Not sure
why it was needed so will keep an eye out for new bad behavior.

Change-Id: I0b4cb628829b138e2ceb3f08833649b90255648c
2016-11-02 16:15:47 -04:00
Alvaro Sanchez-Leon
c0d53c2cc9 Removing stand alone swtbot test module from build
This hanging needs to be investigated/fix before re-enabling
this needs to be done as it impacts every single verification build

Change-Id: I66d5e46773c4f816dd09268fdd55a7495755375e
2016-11-02 12:49:17 -04:00
Philip Langer
ab7afbf0aa Bug 506843: Reset buildFailed flag on buildForLaunch
Since delegate instances are cached and reused for subsequent launches,
we have to reset the buildFailed flag on subsequent builds (i.e., calls
of buildForLaunch). Otherwise, this flag will remain to be set to true
after a failed/cancelled build for the entire lifetime of this delegate,
even if a project has been re-launched and the build succeeded. If the
flag remains to be true, the dialog keeps popping up asking the user
whether to succeed with the launch with errors in the project, even if
the build succeeded and there are no errors any more.

Change-Id: I51aece90154f817542ed7548ec4c36591b19eaec
Signed-off-by: Philip Langer <planger@eclipsesource.com>
2016-11-02 11:04:47 -04:00
Marc Dumais
7181c4b9e9 Bug 501006 - [visualizer] harmonize TID with DV and new GDB console
In the Multicore Visualizer, add the gdb thread ids so that users can
more easily recognize threads

Change-Id: I747e9223d9b689dd6a94d707dd2e5cfdb767764e
2016-11-02 08:05:24 -04:00
Sergey Prigogin
6335a5c2ba Revert "Bug 483602 - Implement deletion of elements from Outline view"
The Delete operation doesn't properly call
TextEditorAction.validateEditorInputState() and as a result doesn't work
in version control environments that keep unchanged files read-only.
Another problem is that Ctrl+Z doesn't trigger Undo when the Outline
view is active. When the Delete element action is reintroduced it should
be made to behave the same way as in JDT, e.g, display a prompt before
deletion and be bound to the Delete key.

This reverts commit f034a69fb7.

Change-Id: I6d37f5aaea1770143fbf84288068794430a5b0e0
2016-10-31 14:59:53 -07:00
Alvaro Sanchez-Leon
cb27913c43 Bug 303808: DebuggerConsole shall not be automatically brought to top
The DebuggerConsoleView may be interfering with other views while
bringing it to the top. This is not desirable as many users may not need
to access the features of the GDB CLI.

With this change the view will be shown but not automatically brought up
to the top, so users can find it and select it as needed.

Change-Id: I6a26f3a39d43732659d1db4e1aeb77f3c9e399d9
Signed-off-by: Alvaro Sanchez-Leon <alvsan09@gmail.com>
2016-10-31 15:22:42 -04:00
Marc Khouzam
d04019eacd Simplify API that opens the DebuggerConsole
IDebuggerConsoleManager.showConsoleView() was mimicked on
IConsoleManager.showConsoleView() which allows to specify which console
in the view should now be shown.

This makes sense for the generic platform Console view where extenders
could choose to display any kind of console when an event happens (e.g.,
a build console when the build is started).  However, in our Debugger
Console case, it complicates things unnecessarily. In our case, we want
to be able to open the view, but the console to show is handled by other
logic such as a synchronizer service.

And if there is a need to change which console should be shown within
the Debugger Console view, then IDebuggerConsoleView.display() should be
used.  I think having it in IConsoleManager.showConsoleView() is a
shortcut that is not very useful in our case.

Change-Id: Id66ea5c953e8a7ab603cfc23789a814c1ad821d2
2016-10-31 11:18:41 -04:00