The dsf.debug.options file can be updated to
run o.e.cdt.tests.dsf.gdb with debug information by changing its
corresponding value from "false" to "true".
Change-Id: I1faa5fdb2bfd11ce3e6e599e2cbeefcfa19ce3b6
The tests validate the use of CLI (i.e. Ctrl-C) or MI (i.e.
-exec-interrupt) to interrupt the target program.
The MI command is used when the target is running in async mode,
which is mandatory when using the Full CLI console.
At the time of writing, async mode is not supported for Windows and
MAC, therefore these tests rely on a new mechanism to override specific
DSF-GDB services.
Change-Id: Ie4ab30f07640d112fff9aec2b4f348a27bfe188b
Also set some project specific preferences for save actions.
Change-Id: I8d9c68fd8f7e4a6e9e874e60c12796e2b9b783bf
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Mostly organize imports and remove redundant type arguments.
Change-Id: I11e8e76f96a17fa521f3e7f8c8f9e3d645d445b3
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
This removes a lot of pom.xml from the source tree. This is using the
"POM-less" Tycho functionality.
See
https://wiki.eclipse.org/Tycho/Release_Notes/0.24#POM-less_Tycho_builds
One advantage of this is that you do not need to update the version in
the pom.xml when you change it in the MANIFEST.MF because the pom.xml is
automatically generated. This also reduces a lot of the duplicated
information and pom.xml repetition.
- Maven 3.3 and up is required.
- Only eclipse-plugins and eclipse-features can be pom-less.
Repositories, target and others still have pom.xml.
- New parent poms are added because a parent is necessary directly one
level above the plug-in/feature that will have its pom generated
- Some test plug-ins had to be renamed .test -> .tests because it's
required so that it detects that it's a test plug-in
- Some suites were renamed so that they all use the same consistent name
"AutomatedIntegrationSuite"
- Profiles were added for the more common test configurations. They are
activated by the presence of simple .properties files that only serve to
activate the correct profile. The profiles:
- One for UI tests (UI present and start in UI thread)
- One for SWTBot tests (UI present and do not start in UI thread)
Other test plug-ins that are too different are kept intact and still
have
a pom.xml
- Fragments are kept intact since they all have different target
platform configurations
Change-Id: I9d73380eb766f547830c552daf08053a30b1845c
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
A deadlock can occur if a project is closing and an indexing job is
running.
There is a patch on Gerrit that reproduces the lock all the time:
https://git.eclipse.org/r/#/c/90603
Thread #1, closes the project (*workspace lock*), removes the binary
parser for this project. Around the same time...
Thread #2, is just about to start indexing the project
(PDOMRebuildTask).
It visits the C model to collect source files. Because the binary
parser was removed, it reloads the project description, which triggers a
listener (CExternalSettingsManager) to get a *workspace lock*.
Thread #1 then blocks on cancelling the indexer, which will never happen
because it is blocked on getting the workspace lock.
This deadlock could happen for any code being called by the indexer
thread that gets a workspace lock before the indexer cancels itself.
Because so much code can be hooked up to the C model (extensions,
listeners, etc), it is difficult to guarantee that this will not happen.
- Possible option 1. Changing CExternalSettingsManager to execute
asynchronously (Job) breaks other code that expect the operation to be
synchronous. Doing this also does not guarantee that other code will not
get a workspace lock.
- Possible option 2. Cancelling the indexer before the binary parser is
removed from the map: does not break any tests but only cover this
particular case of the binary parser triggering the project description
reload. Any other code that triggers a project description reload (and
workspace lock) will still be an issue.
Option 2, although incomplete, seems the safest and more reasonable at
this point. Judging by the comments in bug 327126, to fix this properly
would require quite a big effort that I'm not sure anyone would do.
Change-Id: Ida7b45558e4430bc5cc9a1eb5ef25e8d19487c31
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
useProjectSettings is now true by default so it can be removed.
See https://wiki.eclipse.org/Tycho/Release_Notes/1.0.0
Change-Id: I63256423942d11b94acb2eba11afe76eb62a9b91
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Currently, the debug unit tests only print which GDB version is
requested
and only if tracing is enabled; we have run into bugs where we would
have greatly benefited in easily seeing what version of GDB was
actually launched.
This change makes each test print what version of GDB is requested
and which one is actually run. It also makes the test print this
information
all the time, one line per test, instead of only when tracing is
enabled.
Change-Id: Id19d625170b4f956d6205929062c280ac3ecc3b8
may be wrong in Little Endian presentation
The enclosing markings are meant to reflect contiguous regions of
memory,
however the current Little Endian representation in the traditional
render modifies the memory map to attempt to reflect how the memory
would
be loaded into registers with a size matching the cell size.
The markings are therefore unsuitable for for this special case,
this change removes these markings when the Little Endian formatting is
selected.
Change-Id: I1d7879f8b23329b33e2b17e8c8444d1266b9ef0a
This patch fixes a variable overlay issue, that causes two overlays to
become mistakenly mangled together.
Change-Id: Idbee5b95f85810144dd71e2a397bd38fcd0bcec5
The change is invalid since a PDOMName can participate in only one
binding at a time through its BINDING_PREV_OFFSET/ BINDING_PREV_OFFSET
pointers.
This reverts commit 2706699543.
Change-Id: I1a4dd7b189b85a0d9c1cca2660d33ab7351a025c
Those profiles were useful when keeping compatibility with Eclipse 4.5
but this is not required anymore.
Change-Id: Ic9ef7beecee1b5bd072ec192048ab409b19844c9
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
When using the "Alt-Enter" shortcut with a breakpoint selected, the
properties dialog that is created is missing some fields. This seems to
be caused by the fact that the dialog, when summoned in this way, is
created using a wrong context: an ICLineBreakpoint instead of the
expected CBreakpointContext. That context is then used to fetch
properties from the store, which fails.
This is a naive fix that attempts to work around this by creating a
proper context from the breakpoint.
Change-Id: I2b7c86965d09898dd1cd7eeb3c3f704bb2995e20
The path to GDB is set in the launch dialog, under the Debugger tab. If
the path to GDB contains one or more spaces, and is not within double
quotes, GDB will not be found and the launch will fail.
This patch improves the use cases around the "Browse" button, to select
GDB's path.
1) if the user clicks on the "Browse" button, the browse dialog will
open in the correct place, no matter the presence of space(s).
2) When GDB's path is selected with the "Browse" button, it's then set
in the "GDB debugger" field. This patch looks at the selected path and
adds surrounding double quotes if there is any space within, and strips
any double quotes if there are no spaces.
Change-Id: I202f574772965af3a491d449b9e9a97e8c61e2b0
using GDB 7.12
This solution makes the following changes:
* With GDB 7.12, use async mode as long as the Full GDB console is
supported or if the launch is configured for Non stop mode
* with GDB 7.12, don't always use MI to interrupt the service, use the
CLI when the async mode is off
Change-Id: I92c466e028b400f9054298739cd80efac18bd03a
- change codanMarkerResolution schema to support translatable
regex statements for matching
- bump cdt.codan.ui version
- add additional codanMarkerResolution extensions to codan.checkers.ui
to handle some basic gcc error messages with quick fixes
- add QuickFixAddSemicolon, QuickFixRenameMember,
QuickFixUseDotOperator, and QuickFixUsePointer classes
- add new QuickFixMessages
- add plugin.properties to cdt.codan.checkers.ui to allow the quick
fix regex matchers to be translated in the future
- change the generic error message for gcc error parser so that the
column is reported as the problem variable (useful for certain
quick fix resolutions)
- bump up cdt.core
Change-Id: Ibb24c1a79c4d91ead3fc629ea3d4e7425b4e7f23