- Adding default methods can now be ignored
- Adding fields is now an error but we probably want to ignore this
because it is quite restrictive
Change-Id: Ie57c69f54c64e4913d1498b02e86d00c93f8101a
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
This commit removes explicit source features and has tycho create them
automatically, along with all other source features that were not
previously defined. The logic to auto-generate is in the root pom.xml
For all pre-existing source feature, the name presented to the user has
been changed to use the default name used by Tycho, which is "Developer
Resources". This will provide a more standard user-experience with
respect to other source features built by Tycho.
Existing SDK features are kept for backwards compatibility.
All the names of the auto-generated source features that replace an
existing source feature have stayed the same except for the
'testsrunner' feature; for that one name change, a p2.inf file is added
to allow upgrading from the old named feature to the new named feature.
Change-Id: Ie632e798c93898fd828f88df4983fc43e2749d22
With GDB 7.12, it is possible to receive queries on the dedicated MI
channel. This channel is not accessible or shown to the user so if we
don't answer, GDB will wait forever.
This patch blindly answers 'y' to any query on the MI channel unless it
has already been answered automatically (which happens when we don't use
the full console).
Change-Id: I0e208fc3495ce6ba57b3e477661f47e50680fd88
This commit also enables a richer set of enablement checks when
contributing ConsolePageParticipants to the Debugger Console view.
Change-Id: I34aa010fd9cfa91f24781e2bef5ba41b9525eab0
This patch officially limits the ConsolePageParticipant to handling
consoles from the platform's console view, and not any consoles from the
new Debugger Console view. The code currently behaves like this, but
this patch cleans it up and no longer even checks for GDB consoles.
The ConsolePageParticipant used to provide two things for the GDB
console, when it was part of the platform's Console view:
1- it would select the GDB console when the GDB process was selected
2- it would provide a 'save' button for the GDB console
For #1, when the GDB process is selected in the debug view, this patch
selects the same inferior console as when the launch is selected which
is the last inferior console. As for the synchronization of the Debugger
Console views, it is already handled by each console itself.
For #2 the save button must be handled differently based on the
different type of debugger console (basic vs full). This should be done
in another commit. Besides, the code, before this patch, was not adding
the save button to the debugger consoles since those consoles are not an
instanceof org.eclipse.debug.ui.console.IConsole as first checked in
ConsolePagePartipant#isConsoleGdbCli()
Change-Id: I0813ad2261633ce8630ab5842f06a047868856e8
To perform actions on the GdbFullCliConsole, it is important to provide
access to the terminal widget. This patch adds the new method
GdbFullCliConsolePage#getTerminalViewControl() to give access to the
ITerminalViewControl.
Also, to be consistent with the platform's ConsoleView, this patch also
adds the same groups in the toolbar. Namely
IConsoleConstants.LAUNCH_GROUP and IConsoleConstants.OUTPUT_GROUP.
Extenders can use these groups to add their buttons to the Debugger
Console view.
Change-Id: I217ce54ada63796de776c6b4cb6b925c3feb7eea
The Properties dialog displayed for a Dynamic printf breakpoint
display a "printf (" field, however the end parenthesis is not added
and not expected as part of the parameter list as the ending parenthesis
is added internally.
If the user adds it to complete the opening parenthesis the printf does
not work.
This update adds a validation to this field so if the user adds a final
parenthesis, the dialog will display an error message and the OK button
will be disabled.
Change-Id: Ib25c5a11176c6f92c7367246483be0f703e145bd
Until we can figure out a nice fix for it. See bug for the findings
so far. Hopefully this will just be a stopgap.
Change-Id: Id4f7d91645fd25b140d3eb256da5ebdedc1d0e3f
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Unfortunately previous commit was submitted too early. There were
two problems that this commit corrects:
1) clear line tags before each test run - side effect of Bug 508642
When a test marked with Intermittent fails, the next retry is executed
with the same class instance. Therefore, the new try starts with a
non-empty fTagLocations. The test trips on the check that there are no
duplicate tags.
2) Fix failing testStopAtMainWithReverse
A blank line got inserted into the test case, that
interfered with the test logic.
Change-Id: If4c28557eac7ee740b4e3a5eac5dd2726c39a35d
Also-by: Jonah Graham <jonah@kichwacoders.com>
Signed-off-by: Simon Marchi <simon.marchi@polymtl.ca>
The goal is to eliminate direct source line number references in tests,
so that modifying test cases is easier.
Change-Id: I9a4964478e9486bff137fb9aec199cee144c2af4
Signed-off-by: Simon Marchi <simon.marchi@polymtl.ca>
Almost the same code is used in multiple tests to validate breakpoint
attributes. We can factor that out in a few support functions.
Change-Id: I819da62cc9e6d7434438574b695131b4cea19c77
Signed-off-by: Simon Marchi <simon.marchi@polymtl.ca>
The queries are less verbose and less error-prone.
Change-Id: I875e7f94436b0284c236b850482f9f5ff4cbebf7
Signed-off-by: Simon Marchi <simon.marchi@polymtl.ca>
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>
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
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
When building all gdb versions, the older ones have
a greater chance of failing, so should be done last.
Change-Id: I8bb2f600d84cc7a8f97c308995c174124d881d8d
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>
Includes splitting out and expanding CommandLineArgsTest
from LaunchConfigurationAndRestartTest.
Change-Id: I19fa97a847d908c1c780ca767cf688f26a51d684
Signed-off-by: Jonah Graham <jonah@kichwacoders.com>
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
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
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
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
Make sure Core Build handles the properties set by these tabs
correctly. A bunch of string externalization too.
Change-Id: I54a61b4d2520a0952c43608169747e792826062e
This adds a new service, GDBFocusSynchronizer, that helps keep the
internal GDB selection and the Debug View selection synchronized.
Change-Id: I021b3f65d61e82f6971bdb9232369b6fdf58ea5b
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
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
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
In the Multicore Visualizer, add the gdb thread ids so that users can
more easily recognize threads
Change-Id: I747e9223d9b689dd6a94d707dd2e5cfdb767764e
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>
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
In addition, a new "Preferences" Action is available for
the GDB CLI consoles so the user can easily find/adjust them.
Change-Id: I8d2756683f92ca9b42454906dd600c97e1e07cd2
Signed-off-by: Alvaro Sanchez-Leon <alvsan09@gmail.com>
The GDB process streams now stay opened regardless of
the life-cycle of associated console views. This allows to close
the Debugger Console view without affecting the debugging session.
At the same time, closing and re-opening the Debugger Console
causes new console pages to be created, but should not
cause multiple jobs to read from the same input stream.
Change-Id: Ief78aa2053e5a54514773a8f24f0a465364a7351
Signed-off-by: Alvaro Sanchez-Leon <alvsan09@gmail.com>
Signed-off-by: Marc Khouzam <marc.khouzam@ericsson.com>