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>
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>
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>
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>
Do the initialization asynchronously. If the service was initialized
during this class gets instantiated, it was re-instantiated and so a
StackOverflowException was produced. Now the initialization is done
asynchronously.
Bug: 474946
Change-Id: I15356c5f6e450d825d4f8615e2fba177409f5894
Signed-off-by: Martin Schreiber <m.schreiber@bachmann.info>
When a file is not found, the debugger will be used to resolve it to an
absolute file. One of the side effects at the moment is that no
breakpoint marker is created in the editor for the file. To mitigate the
situation and reduce user confusion, until installed breakpoints can be
displayed in the UI don't allow users to create breakpoints on
non-absolute file names.
Change-Id: Ib69bfdfcde0c83fe6e20cacb0850d8ee907583a1
Signed-off-by: Jonah Graham <jonah@kichwacoders.com>
- Have CBreakpointPropertyPage check if any CBreakpoint already exists
at the specified location
- Have GDBDynamicPrintfPropertyPage check if any CBreakpoint already
exists at the specified location
- Have GDBTracepointPropertyPage check if any CBreakpoint already exists
at the specified location
Change-Id: I67096343a7173a98a144e3577a6b8a05377759e3
Signed-off-by: Marc Khouzam <marc.khouzam@ericsson.com>
line_brkpt_co.gif is edited version of function_brkpt_co.gif
Change-Id: Ifb74e86e1033a11e319c643f9ba1a7034a983173
Signed-off-by: Jonah Graham <jonah@kichwacoders.com>
When creating BP with dialog, make sure it starts out as
not-relocated.
Change-Id: Ia5b703315ce4a6ea55bac584097b255f08b19b17
Signed-off-by: Jonah Graham <jonah@kichwacoders.com>
getAdaptable() in 4.5 M6 has changed to use generics, making casting its
result no longer necessary.
Change-Id: Idd943216a925576bb72c784b2c5a2a4b8e8b00d2
Signed-off-by: Marc Khouzam <marc.khouzam@ericsson.com>
Note that
memory/org.eclipse.cdt.debug.ui.memory.traditional/.settings/.api_filters
needs to be kept because:
1- it removes warnings about implementing provisional APIs
2- that plugin sets warnings as errors, so warnings are not allowed
Change-Id: Id4bcc9cd78c4c6678ef749cfe276e5a9945efa1e
Signed-off-by: Marc Khouzam <marc.khouzam@ericsson.com>
- switched default ui from actions to commands
- for DSF implemented this in DSF GDB
- for CDI implemented command wrappers
- created new API to support loading symbols in IModules service
(IModules2)
Change-Id: Id44f42fa9f0f3d7f22ff7dda07c0830262667d9c