1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-22 06:02:11 +02:00

Bug 334110: Ensure correct SessionType enabled

The DSF-GDB LaunchUtils rely on
ICDTLaunchConfigurationConstants.ATTR_DEBUGGER_START_MODE for correct
behaviour.

Change-Id: I12ae2dea6918233dc09848b7bbbedc6304294d1a
Signed-off-by: John Dallaway <john@dallaway.org.uk>
This commit is contained in:
John Dallaway 2017-10-20 13:02:16 +01:00
parent 50756f3f18
commit a80f50a725
2 changed files with 14 additions and 2 deletions

View file

@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2 Bundle-ManifestVersion: 2
Bundle-Name: %pluginName Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.cdt.debug.gdbjtag.ui;singleton:=true Bundle-SymbolicName: org.eclipse.cdt.debug.gdbjtag.ui;singleton:=true
Bundle-Version: 8.0.0.qualifier Bundle-Version: 8.0.1.qualifier
Bundle-Activator: org.eclipse.cdt.debug.gdbjtag.ui.Activator Bundle-Activator: org.eclipse.cdt.debug.gdbjtag.ui.Activator
Bundle-Localization: plugin Bundle-Localization: plugin
Require-Bundle: org.eclipse.ui, Require-Bundle: org.eclipse.ui,

View file

@ -1,5 +1,5 @@
/******************************************************************************* /*******************************************************************************
* Copyright (c) 2007, 2014 QNX Software Systems and others. * Copyright (c) 2007, 2017 QNX Software Systems and others.
* All rights reserved. This program and the accompanying materials * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0 * are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at * which accompanies this distribution, and is available at
@ -15,6 +15,7 @@
* Bruce Griffith, Sage Electronic Engineering, LLC - bug 305943 * Bruce Griffith, Sage Electronic Engineering, LLC - bug 305943
* - API generalization to become transport-independent (e.g. to * - API generalization to become transport-independent (e.g. to
* allow connections via serial ports and pipes). * allow connections via serial ports and pipes).
* John Dallaway - Ensure correct SessionType enabled, bug 334110
*******************************************************************************/ *******************************************************************************/
package org.eclipse.cdt.debug.gdbjtag.ui; package org.eclipse.cdt.debug.gdbjtag.ui;
@ -23,6 +24,7 @@ import java.io.File;
import java.net.URI; import java.net.URI;
import java.net.URISyntaxException; import java.net.URISyntaxException;
import org.eclipse.cdt.debug.core.ICDTLaunchConfigurationConstants;
import org.eclipse.cdt.debug.gdbjtag.core.Activator; import org.eclipse.cdt.debug.gdbjtag.core.Activator;
import org.eclipse.cdt.debug.gdbjtag.core.IGDBJtagConnection; import org.eclipse.cdt.debug.gdbjtag.core.IGDBJtagConnection;
import org.eclipse.cdt.debug.gdbjtag.core.IGDBJtagConstants; import org.eclipse.cdt.debug.gdbjtag.core.IGDBJtagConstants;
@ -442,6 +444,14 @@ public class GDBJtagDSFDebuggerTab extends AbstractLaunchConfigurationTab {
savedJtagDevice = jtagDevice.getText(); savedJtagDevice = jtagDevice.getText();
configuration.setAttribute(IGDBJtagConstants.ATTR_JTAG_DEVICE, savedJtagDevice); configuration.setAttribute(IGDBJtagConstants.ATTR_JTAG_DEVICE, savedJtagDevice);
configuration.setAttribute(IGDBJtagConstants.ATTR_USE_REMOTE_TARGET, useRemote.getSelection()); configuration.setAttribute(IGDBJtagConstants.ATTR_USE_REMOTE_TARGET, useRemote.getSelection());
if (useRemote.getSelection()) {
// ensure LaunchUtils.getSessionType() returns SessionType.REMOTE (bug 334110)
configuration.setAttribute(ICDTLaunchConfigurationConstants.ATTR_DEBUGGER_START_MODE,
IGDBLaunchConfigurationConstants.DEBUGGER_MODE_REMOTE);
} else {
// ensure LaunchUtils.getSessionType() returns the default session type
configuration.removeAttribute(ICDTLaunchConfigurationConstants.ATTR_DEBUGGER_START_MODE);
}
if (savedJtagDevice.length() > 0) { if (savedJtagDevice.length() > 0) {
try { try {
IGDBJtagDevice device = findJtagDeviceByName(jtagDevice.getText()).getDevice(); IGDBJtagDevice device = findJtagDeviceByName(jtagDevice.getText()).getDevice();
@ -473,6 +483,8 @@ public class GDBJtagDSFDebuggerTab extends AbstractLaunchConfigurationTab {
configuration.setAttribute(IGDBJtagConstants.ATTR_USE_REMOTE_TARGET, configuration.setAttribute(IGDBJtagConstants.ATTR_USE_REMOTE_TARGET,
IGDBJtagConstants.DEFAULT_USE_REMOTE_TARGET); IGDBJtagConstants.DEFAULT_USE_REMOTE_TARGET);
configuration.setAttribute(ICDTLaunchConfigurationConstants.ATTR_DEBUGGER_START_MODE,
IGDBLaunchConfigurationConstants.DEBUGGER_MODE_REMOTE);
configuration.setAttribute(IGDBLaunchConfigurationConstants.ATTR_DEBUGGER_UPDATE_THREADLIST_ON_SUSPEND, configuration.setAttribute(IGDBLaunchConfigurationConstants.ATTR_DEBUGGER_UPDATE_THREADLIST_ON_SUSPEND,
IGDBLaunchConfigurationConstants.DEBUGGER_UPDATE_THREADLIST_ON_SUSPEND_DEFAULT); IGDBLaunchConfigurationConstants.DEBUGGER_UPDATE_THREADLIST_ON_SUSPEND_DEFAULT);
} }