Change-Id: I68361b490a1ba84f0530db37a2da7558c1b762c7
Also-by: Jonah Graham <jonah@kichwacoders.com>
Signed-off-by: Stefan Sprenger <stefan@sprenger.software>
Signed-off-by: Jonah Graham <jonah@kichwacoders.com>
ChangeLog is an archaic format for identifying what has changed in a
project. Fortunately more powerful version control systems are capable
of generating this information and displaying information such as this
paragraph in order to determine what has changed in a project and when.
Change-Id: Ia71a05fa51869c1adb193d94f71c28b3b36beb37
Signed-off-by: Alex Blewitt <alex.blewitt@gmail.com>
Eclipse warns if a String literal does not have a `//$NON-NLS-<n>$`
entry at the end of the line. However, for historic or formatting
reasons, many such occurrences in the CDT source have an intermediate
whitespace, such as `// $NON-NLS-<n>$`
Fix these so that the whitespace is removed between the // and $
characters.
Change-Id: Idc12398fe6e9d619af1d0b1b73fb8b6180da223c
Signed-off-by: Alex Blewitt <alex.blewitt@gmail.com>
When using a `StringBuilder` or `StringBuffer` to create a string message,
using implicit string concatenation inside an `.append()` call will
create a nested StringBuilder for the purposes of creating the arguments,
which will subsequently be converted to a String and then passed to
the outer StringBuilder.
Skip the creation of the intermediate object and String by simply
replacing such calls with `buffer.append(a).append(b)`.
Where values are compile time String constants, leave as is so
that the javac compiler can perform compile-time String concatenation.
Ensure that NEWLINE isn't appended in such a way since it is not
a compile time constant `System.getProperty("line.separator")`
Change-Id: I4126aefb2272f06b08332e004d7ea76b6f02cdba
Signed-off-by: Alex Blewitt <alex.blewitt@gmail.com>
There are many opportunities for replacing `StringBuffer` with
`StringBuilder` provided that the type isn't visible from the
public API and is used only in internal methods. Replace these
where appropriate.
Change-Id: Ic2f50c5b6f3c3a4eae301bb3b40fb6faed235f79
Signed-off-by: Alex Blewitt <alex.blewitt@gmail.com>
- Wait until binary file exists after building instead of sleep
- Replace waiting loop with waitUntil methods with bigger timeouts
- Replace menu detection with faster and more reliable method:
- Find menu items in specific shell
- Use waitUntil with small timeout to detect absent menu items
Change-Id: I5239fa5dab9e091936addf6ceb9ef05095d23bd3
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
In many cases a String's empty status is tested with `.equals("")`.
However, Java 1.6 added `.isEmpty()` which can be more efficient since
it compares the internal length parameter only for testing. Replace
code using the `.isEmpty()` variant instead.
Some tests for `"".equals(expr)` can be replaced with `expr.isEmpty()`
where it is already known that the `expr` is not null; however,
these have to be reviewed on a case-by-case basis.
Change-Id: I3c6af4d8b7638e757435914ac76cb3a67899a5fd
Signed-off-by: Alex Blewitt <alex.blewitt@gmail.com>
Using `new Integer` and other wrapper types such as `new Character` results in
potential extra heap utilisation as the values are not cached. The built-in
`Integer.valueOf` will perform caching on numbers in the range -128..127 (at
least) using a flyweight pattern. In addition, parsing `int` values can be done
with `Integer.parseInt` which avoids object construction.
Adjust tests such as `"true".equals(expr)` to `Boolean.parseBoolean(expr)`.
Change-Id: I0408a5c69afc4ca6ede71acaf6cc4abd67538006
Signed-off-by: Alex Blewitt <alex.blewitt@gmail.com>
MappingSourceContainerBrowser has long since replaced
with NewMappingSourceContainerBrowser.
PathMappingDialog has long since replaced
with MappingSourceContainerDialog.
Change-Id: I67bd6640d5e75608c9b3d616285914987ff38f98
Signed-off-by: Jonah Graham <jonah@kichwacoders.com>
A bug was fixed in SWTBot and it doesn't throw
IndexOutOfBoundsException anymore. A test was relying on that.
Change-Id: I807aaa773b8544172cf33cbf1a04583fe171bd51
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
This commits adds support for the stand-alone debugger on Mac OS X
for both the RCP (product) and the script. The script had to be
modified slightly because of the different installation layout on Mac
and also the use of non-standard arguments to the 'find' command.
Change-Id: I24e4fec98803689dbaadb1dcfa651e431d4188a7
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
The depedency was added to the product before but not to the script.
This means the stand-alone debugger worked in the form of the
product but not the script bundled as part of other Eclipse products.
Change-Id: I3e9da14a7522524a6bec73d3d9e9d22263f17093
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Most changes are cosmetics (name of local variables, javadoc, etc).
The note-worthy ones are:
1- Change terminology in IChangeReverseMethodHandler to be a little clearer.
This causes changes in multiple files, but it was all automated.
2- Remove ReverseDebugMethod.INVALID which was used as an error code
and not a ReverseDebugMethod value.
3- In GdbReverseToggleCommand, provide a different error message
if there is a failure to set ProcessTrace vs BranchTrace and tell user what to do.
4- Reworked GdbReverseToggleCommand#getReverseDebugMethod in attempt
to make the code easier to understand. No actual change in functionality.
Change-Id: Ibdc14faff1220e6a20319644b49e641c2101e762
This patch solves Bug 488661 by moving last trace method to
GdbReverseToggleCommand. Since it is instantiated on a per session
basis.
Change-Id: Idafa196c7af36373ca08d5fc7de63024fe824c2b
Signed-off-by: raddepal <ravitheja.addepally@intel.com>
Preserve the user supplied backend path as a string so that it matches
what GDB (backend) later reports as a file name to resolve.
Condensed history:
Traditionally in source mapping container, the backend path was stored
as an IPath and that was used to compare against the debug information
being returned by GDB. This worked well when the platform compiled for
matched the platform run on, but when there was Windows/Linux together
that did not work. So as part of Bug 393791 a workaround was done to try
and use hand crafted MapEntrySourceContainer.createPath() instead of
Path constructor to preserve some of the differences. This solution had
its limitations too as UNC paths still could not be represented, See
open Bug 386675.
Change-Id: I4c8f62114a2c6019dc9d07ce446ac424be8b230c
Signed-off-by: Jonah Graham <jonah@kichwacoders.com>
CSourceLookupDirector is internal and had a number of methods only
referenced from CDI.
Change-Id: Ia3052ee5f7009f68984e7b02e7785d76c2c15b0d
Signed-off-by: Jonah Graham <jonah@kichwacoders.com>
Add support for gdb's "set substitute-path from to" by adding a new
service called GDBSourceLookup that uses GDB to perform the path
mapping.
The new GDBSourceLookup service uses the new GdbSourceLookupDirector to
get the set of paths that need mapping using GDB's "set
substitute-path" and the director resolves compilation path differently
so as to leave the GDB backend to handle the local path to compile path
resolution.
The MappingSourceContainer has been enhanced to allow a per mapping
container override of the new behaviour. This is a fallback as the
default behaviour when using GDB is to use "set substitute-path".
The MappingSourceContainerDialog exposes the new option in
MappingSourceContainer as a checkbox at the bottom of the path mapping
dialog in a backend agnostic way.
The new code is tested in methods called "sourceSubstitute*" and
mirror the same tests for the now non-backend handled version
which are "sourceMapping*". Note that
doMappingAndLaunch/doSubstituteAndLaunch have been updated to explicitly
check or uncheck the setIsMappingWithBackendEnabled setting
Change-Id: I122d7c597cd461d8e38c4f82522ccfdf9e51a5ba
Signed-off-by: Jonah Graham <jonah@kichwacoders.com>
This is generic support for debugger commands though mi console bridge,
should be not gdb specific (have a simple gdb implementation though)
We add new breakpoint action called "Debugger Command"
Interface allows to enter arbitrary string(s)
This is interpreted by debugger as it see fit
For gdb implementation these are cli commands
Change-Id: I20ca0b8b094c724e1cf8b0691f4f6cab84a3737d
This is the first change to remove CDI from CDT. The CDI model
implementation is removed along with everything that directly
depends upon the implementation.
This commit does not include refactoring or moving classes. The few
insertions are the minimum necessary.
Change-Id: I80274e1a0d77bc7bb00a2afe4babc00c4f7613ae
Signed-off-by: Jonah Graham <jonah@kichwacoders.com>
I got some user feedback about some terminology they didn't quite
understand and this patch tries to address the issues by:
- Simplifying the name of the reverse debugging options.
- Simplifying the preference page.
The patch aslo removes un-used strings in plugin.properties.
Change-Id: I1e4487eeda23f81d391ef11ddbe7dd6feba401ec
This patch adds the "Switch Off Tracing" option to
the select reverse debugging method pull down menu.
Change-Id: Ib184c1f4c1d1db781bea4468bc8c939bd27db27d
Signed-off-by: raddepal <ravitheja.addepally@intel.com>
The original toggle button for reverse debugging
has been modified to a pulldown menu for selecting
between hardware and software methods along with all necessary support.
Change-Id: I2e4d97c46950253986d427cb87cda66b820744c9
Signed-off-by: raddepal <ravitheja.addepally@intel.com>
Signed-off-by: Marc Khouzam <marc.khouzam@ericsson.com>
With this option, the build implicitly verifies that it would also
be possible to install the product (and its plugins) from that
repository.
This means that it provides some basic sanity check for plugin
dependencies.
For example, this would have uncovered the missing dependency to
launchbar.core fixed here: https://git.eclipse.org/r/65572
See
https://eclipse.org/tycho/sitedocs/tycho-p2/tycho-p2-director-plugin/materialize-products-mojo.html#source
Change-Id: I77382bb99b95784b18892cabe545c039d568ff01
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Includes:
- CSourceLookupParticipant only did one useful thing (For DSF). When the
object being looked up is a String, as is the case when disassembly
view/editor is doing a lookup, the CSourceLookupParticipant would be the
one to do the resolution. Updated
DsfSourceLookupParticipant.getSourceName to be able to handle a String
- Changed super of DsfSourceLookupParticipant to
AbstractSourceLookupParticipant, saves duplicate code, and adds comment
about what is different about findSourceElements
- a previously missing test for an unusual case (no containers)
- Some of these methods that are only part of CDI have been
marked as such for eventual removal in Bug 484900
Change-Id: I9954b4469e9db9cb46eb117f3beba9e01634689b
Signed-off-by: Jonah Graham <jonah@kichwacoders.com>
This code is not used and hasn't been touched since 2012.
Now it can be referred as the "old new new wizard".
Change-Id: Iccc60651a8233a5ef5b138dfcc334cfcf926d109
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>