diff options
author | Jonah Graham | 2016-03-16 20:41:33 +0000 |
---|---|---|
committer | Gerrit Code Review @ Eclipse.org | 2016-03-17 02:30:51 +0000 |
commit | 628389071558c43c52b666995e1eaa5c4aa67a8f (patch) | |
tree | fdf26b11af48b2ba8f8c907596ba67bc7f802357 /qt | |
parent | 315fc0f5efdcf4b2f5bfde5bd04c22afe1176fd0 (diff) | |
download | org.eclipse.cdt-628389071558c43c52b666995e1eaa5c4aa67a8f.tar.gz org.eclipse.cdt-628389071558c43c52b666995e1eaa5c4aa67a8f.tar.xz org.eclipse.cdt-628389071558c43c52b666995e1eaa5c4aa67a8f.zip |
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>
Diffstat (limited to 'qt')
-rw-r--r-- | qt/org.eclipse.cdt.qt.core/src/org/eclipse/cdt/internal/qt/core/launch/QtLocalDebugLaunchConfigDelegate.java | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/qt/org.eclipse.cdt.qt.core/src/org/eclipse/cdt/internal/qt/core/launch/QtLocalDebugLaunchConfigDelegate.java b/qt/org.eclipse.cdt.qt.core/src/org/eclipse/cdt/internal/qt/core/launch/QtLocalDebugLaunchConfigDelegate.java index e360dcd0b35..af7ed6fd443 100644 --- a/qt/org.eclipse.cdt.qt.core/src/org/eclipse/cdt/internal/qt/core/launch/QtLocalDebugLaunchConfigDelegate.java +++ b/qt/org.eclipse.cdt.qt.core/src/org/eclipse/cdt/internal/qt/core/launch/QtLocalDebugLaunchConfigDelegate.java @@ -15,8 +15,8 @@ import org.eclipse.cdt.dsf.concurrent.ImmediateExecutor; import org.eclipse.cdt.dsf.concurrent.Query; import org.eclipse.cdt.dsf.concurrent.RequestMonitorWithProgress; import org.eclipse.cdt.dsf.concurrent.Sequence; -import org.eclipse.cdt.dsf.debug.sourcelookup.DsfSourceLookupDirector; import org.eclipse.cdt.dsf.gdb.launching.GdbLaunch; +import org.eclipse.cdt.dsf.gdb.launching.GdbSourceLookupDirector; import org.eclipse.cdt.dsf.gdb.launching.ServicesLaunchSequence; import org.eclipse.cdt.dsf.gdb.service.GdbDebugServicesFactory; import org.eclipse.cdt.dsf.gdb.service.command.IGDBControl; @@ -43,7 +43,7 @@ public class QtLocalDebugLaunchConfigDelegate extends QtLaunchConfigurationDeleg launch.setLaunchTarget(target); launch.initialize(); - DsfSourceLookupDirector locator = new DsfSourceLookupDirector(launch.getSession()); + GdbSourceLookupDirector locator = new GdbSourceLookupDirector(launch.getSession()); String memento = configuration.getAttribute(ILaunchConfiguration.ATTR_SOURCE_LOCATOR_MEMENTO, (String) null); if (memento == null) { locator.initializeDefaults(configuration); |