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
This commit removes explicit source features and has tycho create them
automatically, along with all other source features that were not
previously defined. The logic to auto-generate is in the root pom.xml
For all pre-existing source feature, the name presented to the user has
been changed to use the default name used by Tycho, which is "Developer
Resources". This will provide a more standard user-experience with
respect to other source features built by Tycho.
Existing SDK features are kept for backwards compatibility.
All the names of the auto-generated source features that replace an
existing source feature have stayed the same except for the
'testsrunner' feature; for that one name change, a p2.inf file is added
to allow upgrading from the old named feature to the new named feature.
Change-Id: Ie632e798c93898fd828f88df4983fc43e2749d22
Prevent users from using a version of lldb that is too old.
Before version 3.8 there was a hang and other issues. If the
version cannot be determined, the launch stil proceeds. This
is because there is no good way to get the version from the
lldb-mi executable but rather, we can only do a best-effort
to get the version from the normal lldb executable. If the
lldb executable is not present but the lldb-mi is, this is a
valid way to use the debugger but the version cannot be determined.
In the future, it would be better if the lldb-mi executable could
report the lldb version directly. But this would be an improvement
in lldb, not CDT.
Change-Id: Ief8a4ebd3ea1e3d549a5cef41ac3030ec48734c4
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
This commit adds a preference page for LLDB. For now, only LLDB path
and the "stop at main" preferences are exposed.
Bug: 405670
Change-Id: I4ba30fdb48ecd0cdfc6e3aac35fe0de38563c354
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
This commit adds support for debugging new processes launched locally
using the LLDB debugger (lldb-mi). The minimum version supported is
LLDB 3.8.
Preliminary documentation on how to set it up is available here:
https://github.com/MarkZ3/Eclipse-CDT-WIP/issues/9#issuecomment-236483223
Bug: 405670
Change-Id: If46543e974e2f19c45ab3bba088eab35fe737077
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.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>
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>
- Fix LlvmEnvironmentVariableSupplier.getDirIfLlvmFound method
which was not bothering to look for llvm-ar in the user's path
because it would only set its internal llvmPath variable if
directories ended in '/' or if a subdir was provided which is
not the case for it being called from LlvmToolChainSupported
- set the llvmPath to the candidatePath at the beginning so the
test will be performed
Change-Id: I4b93fb3e569c32cff580c57dbedbe730dbbe057e
Prevents LLVM page being top level and makes LLVM threated more like
XLC.
Change-Id: I189f9fb00f256c9721d95b7a163284db4e31d370
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
Reviewed-on: https://git.eclipse.org/r/30296
Tested-by: Hudson CI
Reviewed-by: Doug Schaefer <dschaefer@qnx.com>
This allows compiling in the IDE and not fail because of exception not
used in catch block.
Change-Id: I162645b25162d80b4447d87edabc4d436d6d9d2f
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
Reviewed-on: https://git.eclipse.org/r/30295
Tested-by: Hudson CI
Reviewed-by: Doug Schaefer <dschaefer@qnx.com>
features
Change-Id: I52a71e62f8161990657e96ef52403fd7f69698a2
Signed-off-by: Marc Khouzam <marc.khouzam@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/27499
This means that:
- feature.xml files now make a reference to the shared license plugin
using version 0.0.0
- feature.properties files no longer have the text for the license
- license.html and epl-v10.html files are removed as they are part
of the shared license plugin
- build.properties files no longer reference removed files
- the main pom.xml file references the license repository
Change-Id: Ibd880480de3a07597084d44cce7b822903509079
Signed-off-by: Marc Khouzam <marc.khouzam@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/27250
adding an include directory
Remove the Text control. It doesn't look like it was being used in any
way.
Change-Id: Ib9266678c1211309979b96c2e8cda6087c759254
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/14532
Also fixed binary parser on Mac.
llvm-ld doesn't exist in newer llvm implementations. From what I can
tell, clang now just calls the real linker after running and massaging
the bc files.
Changed to call clang and clang++ drivers at link time. Had to fix
some of the options to make it work. Just a stop gap since there are
more issues to resolve but at least it's enough to get working.
Change-Id: I54b78e85b16a77549a5be9d282bc6f47f723947d
Reviewed-on: https://git.eclipse.org/r/13515
Reviewed-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
IP-Clean: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Reviewed-by: Doug Schaefer <dschaefer@qnx.com>
IP-Clean: Doug Schaefer <dschaefer@qnx.com>
Tested-by: Doug Schaefer <dschaefer@qnx.com>