Guard against NULL oldValues, which is legitimate, in which case use an
empty Map.
Change-Id: I78ac252d3e91d431340320719cb57b32145813f0
Signed-off-by: John Moule <evil_bandit_betamax@yahoo.co.uk>
Resolve project-related string variables within the GDB command, based
on the launch configuration rather than the current selection.
Change-Id: I6fc5d2f1de515624aff59397de60d0c394acf72f
Signed-off-by: John Dallaway <john@dallaway.org.uk>
Include the error message in the message shown directly in the error
dialog.
Change-Id: I8d6e65353750ee59966ede59b75ebc6256658cb6
Signed-off-by: Samuel Hultgren <samuel.hultgren@st.com>
When shutting down eclipse and there is an active debug session, eclipse
might deadlock if it can't destroy the debug session and would normally
leave a zombie process for the eclipse instance. This fix allows
eclipse to properly shutdown if the debug session is destroyed in less
than 1 minute, else the IDE will simply be terminated.
Change-Id: Icb9b019c7ff2ec9cdc9870a392a657fe0dfde81b
Signed-off-by: Torbjörn Svensson <torbjorn.svensson@st.com>
When I fixed the assume on "remote" in commit 4a447ce1a6
I exposed this test as having not been run in a while and it has
bitrotten due to changes in the compiler behaviour and the bad
definition of fastTracepointsSupported. This commit brings the test up
to speed.
Change-Id: I5eee6af4de111d864465851de91889aecf875dfb
This includes changing BaseParametrizedTestCase.remote to be a
Boolean so that users of remote before it is initialzed causes
an NPE. For example, GDBRemoteTracepointsTest was never running
because of this logic error.
Change-Id: I3fb46fd67c554af7ec912f175815165533021a1b
This generally required adding RequestMonitors everywhere possible
and then holding up processing future bp events until previous
ones were finished.
Change-Id: Icc641071249f7f8c619f0592e07772e47645c9db
- 8.0.1 is out now, so we should use this instead of 8.0.
- 8.1 is out, so add it.
Change-Id: Iba8a0cf453dfd0b2e488fd89f7412a02aac421f6
Signed-off-by: Simon Marchi <simon.marchi@polymtl.ca>
Instead of an indiscriminate NPE at termination of a launch, handle it
more cleanly with a friendly error message.
Change-Id: Ie37e675c3f5e4883c0b160bfe86c4848f1983fa7
Adds target, launch classes, and launch bar support for targets
intended to upload their code to flash using a Serial Port. The
port is co-ordinated with the Serial Terminal so that the terminal
is paused during the upload.
Also cleaned up the Generic Launch so it's not using the
External Tools launch which has a number of UX issues. This
simplifies the settings and gives us more control. And it's made
reusable for the Serial Flash launch.
Change-Id: I31e9970243fbf1cf22d027bbdb892fde104dbefe
-target-attach on Ubuntu 16.04 / GDB 7.11 does not flush its error
response, leaving CDT hanging in final launch sequence. Sending
a newline to GDB after the target-attach causes GDB to flush the
buffer so CDT sees the error.
Change-Id: I8816ac6c88eeaffc6d243ebdae9eb347cfdc5cf0
FTDI chips.
Increase the choice of serial baud rates for GDB as modern USB Serial
FTDI chips can reliably support serial baud rates higher than the old
RS232 115200 maxiumum.
Change-Id: If60fd006fdb02d94e86ef2e76a26b56da7a3a067
Signed-off-by: Alex Schuilenburg <alexs@ecoscentric.com>
A number of changes that clean up how build configs are done. Now
build settings are stored with the build config instead of in launch
configs. That makes it less launch bar specific. Add build settings
UI to change the toolchain used for a given launch config.
Also changed CMake so it's IToolchain based instead of property which
doesn't work when multiple IToolchains match.
Change-Id: I958d90ede3c1f873ab1530c2b2880808e8f7abef
Also restructures the pom.xmls to put the modules in the top level
so we can order them to have the test plugins build after them.
Change-Id: I2f0e4ebd252791fb8844cdf0f635d574946207aa
Fix the async calls that can run after the DebuggerConsole is closed
and removed so that they can't NPE.
Change-Id: I7905ee18a92be0ff5de25a4c8d770a694b06bfe1
All the uses of the service in the code base allow it not to exist,
so allow the service not to exist at launch too.
Change-Id: I907038907e87d5fbc882272b6e41cd1587617281
On Windows the PTY's waitFor will be blocked (and therefore not
see debugger termination) until the handle to stream is closed.
Change-Id: Ifa079a064733a12a03b07c3e7361e1d19d2b8be8
Note, can't simply check isDisposed as that still leaves a race
condition between isDisposed call and asyncExec call
Change-Id: I3e0e196d9d1dd9b9c8d4048a1aec55405d6dd6e0
If the solib-search-path path contains a space, CDT adds doubles quote
to escape the space (in MIStandardParameterAdjustable class) . But Gdb
client doesn’t understand the double quotes path.
This patch do not add double quotes when the path contains spaces.
Change-Id: I080be17023647dfac2b00296cdd54c7f9499102a
Signed-off-by: Vincent Guignot <vincent.guignot@ingenico.com>
New API to allow third-parties to extend MIBreakpointDMData with their
own custom Breakpoint handling.
Includes deperecating of MIBreakpointNature that was not used anywhere
in CDT except within internals of MIBreakpointDMData. It arguably
should never have been API in the first place.
Change-Id: I6bcdf2ccaa28d15835ab022648b9b4b0aa7498a7
Rather than try/catch/fail just let exception cascade so that the full
stacktrace is available in the test results.
The braces have been left in place for scoping and to minimize changes.
Change-Id: I5407829ea964f828e3f996794489a7b884de25fb
There are cases where we consider some variables as complex when they
are not. In particular, if a pointer is declared using a typedef, is
will be considered complex with the current code. This is because it
has a child (the pointed value), but CDT doesn't know it's a pointer.
One of the consequence is that we assume the value is not modifiable.
Therefore, we won't update its value when it changes, and we won't let
the user edit it.
Initially I thought it would be safe to assume that variables with two
or more children are complex, but pointers to structures have as many
children as the structure has fields. Therefore, a pointer to a
structure, declared as a typedef, will still be wrongfully considered as
complex. Since there's no easy way to know for sure whether a variable
is complex, just assume everything is simple.
I added a test to verify that the value of a pointer declared using a
typedef will update correctly in CDT as it changes in the program.
There are two distinct scenarios, pointers that are variables and
pointers that are fields of structures. Instead of adding content to
testUpdateOfPointer, I decided to make a similar test method,
testUpdateOfPointerTypedef. The original test method was getting too
long and was difficult to follow. I think it's good to keep them short
and focused.
Another test verifies that the same kind of pointer can properly be
written/modified by the user.
Change-Id: If43b3b6e49cd4a20ea929c2a096745a32de14cd0
Signed-off-by: Simon Marchi <simon.marchi@polymtl.ca>
This check already existed for modifying breakpoints, but didn't exist
for creating new breakpoints or installing initial breakpoints.
Change-Id: I5ff5ce0b3ac603ccffa49bd98d60f7202505a7bd
Signed-off-by: Jonah Graham <jonah@kichwacoders.com>