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>
Commit 6335a5c2ba reverted
a previous commit which made the changes being reverted
here unecessary.
This reverts commit 896eba55c5.
Change-Id: I890a67513b35df7708f9fc33c0be3e879fdb9e0e
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
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
Make sure Core Build handles the properties set by these tabs
correctly. A bunch of string externalization too.
Change-Id: I54a61b4d2520a0952c43608169747e792826062e
- 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>
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
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>
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