1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-29 19:45:01 +02:00
Commit graph

1243 commits

Author SHA1 Message Date
Alvaro Sanchez-Leon
d06db08a30 Bug 506073 - Support address "range" when adding a memory watchpoint
Change-Id: If3130ed52df95b0481d95477727fc2f419251ade
Signed-off-by: Alvaro Sanchez-Leon <alvsan09@gmail.com>
2017-02-07 13:52:25 -04:00
Marc Dumais
86189eeb86 Bug 510924 - Alt+Enter on breakpoint shows incomplete properties dialog
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
2017-02-07 10:55:19 -04:00
Jonah Graham
e93de453f8 Bug 509897: Use View Management for Debugger Console
Change-Id: I509d3b5679e2ab236f8cd09b122ffae603a5fc51
Signed-off-by: Jonah Graham <jonah@kichwacoders.com>
2017-02-06 06:15:19 -05:00
Marc-Andre Laperle
02a04cebad Fix API errors with Eclipse 4.7
- Adding default methods can now be ignored
- Adding fields is now an error but we probably want to ignore this
because it is quite restrictive

Change-Id: Ie57c69f54c64e4913d1498b02e86d00c93f8101a
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
2017-01-30 14:11:36 -04:00
Bruno Medeiros
5c93171cbc Bug 511029 - Debug views become permanently pinned...
... if they are closed and reopened whilst pinned.

This was because IPartListener2 was being removed before #partClosed()
was called.

Change-Id: I16de016387131b775237b5d61639bb32107231fe
Signed-off-by: Bruno Medeiros <bruno.do.medeiros@gmail.com>
2017-01-30 12:41:59 -05:00
Marc Khouzam
6480a154ef Bug 508543 - Reverse Bp Action doesn't display type properly for editing
The value returned by IBreakpointAction#getTypeName() must match the
value provided in the plugin.xml file for that same action.  The two
names are compared in ActionDialog.createDialogArea() to know if the 
proper action has been found.  This is a fragile technique, that should 
eventually be improved.  For now, we just fix the current problem.

Change-Id: I70fd8b90fc680d3a5d55a95bdd5193d382b6c6f2
2017-01-23 12:42:09 -05:00
Marc Khouzam
bfea9deb90 Bug 303808: Example of ConsolePageParticipant for Debugger Console
This commit also enables a richer set of enablement checks when
contributing ConsolePageParticipants to the Debugger Console view.

Change-Id: I34aa010fd9cfa91f24781e2bef5ba41b9525eab0
2017-01-19 15:40:47 -05:00
Marc Khouzam
d780df14c2 Bug 303808: Make it easier to extend Debugger Console pages
To perform actions on the GdbFullCliConsole, it is important to provide
access to the terminal widget.  This patch adds the new method
GdbFullCliConsolePage#getTerminalViewControl() to give access to the
ITerminalViewControl.

Also, to be consistent with the platform's ConsoleView, this patch also
adds the same groups in the toolbar.  Namely
IConsoleConstants.LAUNCH_GROUP and IConsoleConstants.OUTPUT_GROUP.
Extenders can use these groups to add their buttons to the Debugger
Console view.

Change-Id: I217ce54ada63796de776c6b4cb6b925c3feb7eea
2017-01-19 11:02:17 -04:00
Stephen Flynn
576d41fe69 Bug 303808 Allow page participants for GdbFullCliConsole.
This commit borrows code from ConsoleView and ConsoleManager to allow
adding page participants to GdbFullCliConsole.

Change-Id: I4b99600bc4fba3bfecb9a4822f94e2be7d3aa601
Signed-off-by: Stephen Flynn <stephen.flynn@dell.com>
2017-01-19 10:01:09 -05:00
Alvaro Sanchez-Leon
028eb67a17 Bug 509895 - GdbBasicCliConsole left running after platform shutdown
when launch fails

Change-Id: I5879f5ed770e63c11077e091f18c5766b243bd88
2017-01-17 12:49:15 -04:00
Marc Khouzam
bed0869293 Typo in error message
Change-Id: Icb470bfadd25ae37fcfacece90ec49b4423f88f0
2017-01-14 08:17:49 -05:00
Marc Khouzam
d6076f954b Cosmetics 2016-12-21 14:10:32 -05:00
Marc Khouzam
9286a1a483 Trigger error in Debug plugins when a package is not exported.
Change-Id: I7a76bb65badee7a949e3d0e9abc27ced228e9b7d
2016-12-21 11:54:36 -04:00
Alvaro Sanchez-Leon
899284e8da Bug 507752 - [debugger console] Check if view is opened in perspective
The Debugger console view should remain visible when switching
perspectives

Change-Id: I22bcfefca980324c9e2918d91217ef83ade056b8
2016-11-18 15:26:11 -05:00
Marc Khouzam
8cf5ed53f2 Update version to 9.3.0
Change-Id: Ic953ccc5d38ff3661ca44de21ed8c4b7dad5b246
2016-11-15 20:32:51 -05:00
Marc Khouzam
334777eb6e Update version to 9.2.0
Change-Id: I36ad4218b20b8ea70584c89f5be45c757bf4c714
2016-11-14 23:50:05 -05:00
Marc Khouzam
c2b4f18943 Don't force the GDB console to be shown when created.
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
2016-11-13 22:14:38 -05:00
Marc Dumais
dc6e3a06ff bug 498782 - [debug] synchronize selection between the DV and GDB
This adds a new service, GDBFocusSynchronizer, that helps keep the
internal GDB selection and the Debug View selection synchronized.

Change-Id: I021b3f65d61e82f6971bdb9232369b6fdf58ea5b
2016-11-10 11:35:27 -05:00
Alvaro Sanchez-Leon
cb27913c43 Bug 303808: DebuggerConsole shall not be automatically brought to top
The DebuggerConsoleView may be interfering with other views while
bringing it to the top. This is not desirable as many users may not need
to access the features of the GDB CLI.

With this change the view will be shown but not automatically brought up
to the top, so users can find it and select it as needed.

Change-Id: I6a26f3a39d43732659d1db4e1aeb77f3c9e399d9
Signed-off-by: Alvaro Sanchez-Leon <alvsan09@gmail.com>
2016-10-31 15:22:42 -04:00
Marc Khouzam
d04019eacd Simplify API that opens the DebuggerConsole
IDebuggerConsoleManager.showConsoleView() was mimicked on
IConsoleManager.showConsoleView() which allows to specify which console
in the view should now be shown.

This makes sense for the generic platform Console view where extenders
could choose to display any kind of console when an event happens (e.g.,
a build console when the build is started).  However, in our Debugger
Console case, it complicates things unnecessarily. In our case, we want
to be able to open the view, but the console to show is handled by other
logic such as a synchronizer service.

And if there is a need to change which console should be shown within
the Debugger Console view, then IDebuggerConsoleView.display() should be
used.  I think having it in IConsoleManager.showConsoleView() is a
shortcut that is not very useful in our case.

Change-Id: Id66ea5c953e8a7ab603cfc23789a814c1ad821d2
2016-10-31 11:18:41 -04:00
Marc Khouzam
b0833f9e0c Fix DebuggerConsoleManager#showConsoleView() not showing the console
According to the javadoc of
IDebuggerConsoleManager.showConsoleView(IDebuggerConsole), the specified
console should be made visible when this method is called.  Our
implementation was not doing that.

The PageSwitcher used in DebuggerConsoleView is making use of that call
and was not working properly.  One can verify this by using the 
"Next Page" key binding to change console pages.  It works in the
platform console but did not in the Debugger Console.

This patch fixes it.

Change-Id: I0caa94c85e5c9dbbd94d80081c7b4691c17d9582
2016-10-31 11:00:20 -04:00
Doug Schaefer
e371ba0919 Updates for Core Build.
Change-Id: I8720d5b57e335adde538838790c3ecdd465a7ed7
2016-10-12 19:19:19 -04:00
Doug Schaefer
33f528d1ee Add empty tab group and icon for core build local launches.
Change-Id: Ifa522f49888518e2a04263316baddc8e3c507fd0
2016-09-12 15:15:07 -04:00
Doug Schaefer
b26917be90 Introduce Core Build launches and Launch Bar integration.
Unify launching for projects that use the new Core Build system.
Starts with CMake projects. We'll do Qt projects next.

Change-Id: I14af8e99decd54cc6548095b3ad3e054c550aea2
2016-09-12 11:14:17 -04:00
Alvaro Sanchez-Leon
e9b297390b Bug 303808: Add a terminate button to the debugger console view
Change-Id: I67b37be1991c564dca961d3d2f85b9ba0da098c5
2016-09-07 15:38:43 -04:00
Marc Khouzam
489be2aa59 Bug 303808: Moving old gdb console to Debugger Console view
Making this change reduces richness of such a console with respect to
menus, toolbar, etc.  However, I think the consistency is more
important.  Besides, this old gdb console is so poor, I don't expect it
was used much.

Change-Id: I28870192dd51c673f35d6147d5196bc771ebfa55
2016-09-07 15:37:11 -04:00
Marc Khouzam
999c2e97cc Bug 303808: Add dedicated debugger console view
Splitting out the GDB console into its own Debugger Console view.

The goal of this patch is to allow the user to easily keep the full GDB
console in focus, without having to pin it, as the pin requirement was
not very user-friendly.  Furthermore, the user can also use the GDB
console while looking at the output of the program being debugged,
which couldn't not be done without a dedicated gdb console view.

This patch also resolves two issues we had with re-using the platform
console view, which were:
- pin didn't work
- clone didn't work
With this new Debugger console view, there is no pin and no clone.

Change-Id: Ia19132704a2f6618f35ffe47ebb4b8f0028dc9ab
2016-09-07 15:26:43 -04:00
Marc Khouzam
cd559dafaf Update version to 9.1.0
This commit used the script releng/scripts/ChangeFeaturesVersion.sh

Change-Id: I8274a6e8dd5c0f1e450f07952e138b265a441a62
2016-08-17 10:11:57 -04:00
Alexander Kurtakov
a044217eff Fix generics warnings o.e.cdt.debug.ui.
Namely:
* Adapters
* ListenerLists
* Iterators
* Collections

Change-Id: I71212da7f9ab414fb392a8388afcce762f3f4702
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
2016-07-06 10:28:57 +03:00
Marc Khouzam
f38cbb85c3 Remove old .cvsignore files
Change-Id: Ia66de47055a15d94c0aa45d1198f0a9e78d82ad0
2016-06-30 09:58:00 -04:00
Marc Khouzam
9e1e981b4d Move the rest of the CDT plugins to java 8
This change was generated using the script:
releng/scripts/ChangeJavaVersion.sh

Change-Id: I2ad96dc682a5acb8529c3edec40de279c331b5a4
2016-06-22 14:51:43 -04:00
Stefan Sprenger
2469e0e117 Bug 487998: [breakpoints] Editing code while debug is active
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>
2016-04-27 07:20:42 -05:00
Alex Blewitt
c73978c03a Bug 492210 - Remove ChangeLog files from project
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>
2016-04-25 22:53:31 +01:00
Alex Blewitt
6bdca5f4a2 Bug 492230 - Replace buffer.append(a+b) calls
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>
2016-04-25 11:38:47 -05:00
Alex Blewitt
2356a29c70 Bug 492200 - Replace StringBuffer with StringBuilder
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>
2016-04-21 22:17:03 -05:00
Alex Blewitt
2114f6b108 Bug 491984 - Replace .equals("") with .isEmpty()
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>
2016-04-19 13:35:54 -04:00
Alex Blewitt
fc07efa909 Bug 491825 - Remove primitive wrapper creation
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>
2016-04-16 12:17:48 -04:00
Sergey Prigogin
b91b69775f Bug 491825 - Remove uses of new Boolean and friends
Change-Id: Ie358c8385c278472f3b86851f6fc219007bb9b5c
2016-04-15 15:20:15 -04:00
Jonah Graham
64da973dcf Bug 472765: Delete dead classes
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>
2016-04-13 16:07:31 +01:00
Jonah Graham
a925a51cf4 Bug 472765: Better wording on label
Change-Id: Idd391767ac152410f9b01fbe47febcbeae3f2d00
Signed-off-by: Jonah Graham <jonah@kichwacoders.com>
2016-04-08 14:08:43 +01:00
Marc Khouzam
6d5e31038c Bug 488661: Simplification of reverse debugging code
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
2016-03-29 08:59:41 -05:00
raddepal
7a73b0035f Bug 488661 - Moving the last trace method to GdbReverseToggleCommand
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>
2016-03-23 08:56:19 -05:00
Jonah Graham
a56abb4783 Bug 472765: use Strings for backend path in Map Entries
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>
2016-03-19 19:44:19 -04:00
Jonah Graham
6283890715 Bug 472765: Use gdb's "set substitute-path from to"
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>
2016-03-16 22:30:51 -04:00
Alena Laskavaia
bb0ba6fd91 Bug 489455 - Add new breakpoint action to run arbitrary debugger command
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
2016-03-16 11:24:20 -04:00
Jesper Eskilson
eac2f92bb4 Fixed warnings: do not call MessageFormat#format(...) with String[].
Change-Id: I3da681e323cfeb0c1c07a669183e6d1d18ca6ff6
Signed-off-by: Jesper Eskilson <jesper.eskilson@iar.com>
2016-03-14 13:41:59 -04:00
Jonah Graham
ff7f25b94d Bug 484900: Remove Majority of CDI classes
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>
2016-03-08 19:18:05 -05:00
Marc Khouzam
4175b5a1a4 Bug 478740: Simplify user-facing terminology
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
2016-03-04 09:54:30 -05:00
Marc Khouzam
038783cf5f Bug 487121 - Remove "connect" button from the Debug View toolbar
Change-Id: I99e096e759eaf7d56b4d64a75bbed6d1833b714d
2016-03-03 10:02:12 -05:00
Marc Khouzam
2befa91f27 Bug 478740: Cleanup reverse toggle image handling
Change-Id: I5b7eae467179b4cd34d9633bc217a48cf729fd87
2016-02-28 23:13:55 -05:00