###############################################################################
# Copyright (c) 2006, 2015 Wind River Systems and others.
#
# This program and the accompanying materials
# are made available under the terms of the Eclipse Public License 2.0
# which accompanies this distribution, and is available at
# https://www.eclipse.org/legal/epl-2.0/
#
# SPDX-License-Identifier: EPL-2.0
#
# Contributors:
#   Wind River Systems - initial API and implementation
#   IBM Corporation
#   Jason Litton (Sage Electronic Engineering, LLC) - Added label for dynamic tracing (Bug 379169)
###############################################################################
pluginName=GDB DSF Debugger Integration Core
providerName=Eclipse CDT

launchDelegate.localApplication.name=GDB (DSF) Debug Process
launchDelegate.localApplication.description=Start new application under control of GDB debugger integrated using the Debugger Services Framework (DSF).
launchDelegate.remoteApplication.name=GDB (DSF) Manual Remote Debugging
launchDelegate.remoteApplication.description=Debug a new application that was manually started on a remote system under control of GDB debugger integrated using the Debugger Services Framework (DSF).
launchDelegate.attach.name=GDB (DSF) Attach to Process
launchDelegate.attach.description=Attach the GDB debugger, integrated using the Debugger Services Framework (DSF), to a running program locally or remotely.
launchDelegate.postmortem.name=GDB (DSF) Postmortem Debugger
launchDelegate.postmortem.description=Load an application dump using the GDB debugger integrated using the Debugger Services Framework (DSF).
cdt.dsf.gdb.component.label = CDT GDB Core
coreBuildLocalDebug.name=Core Build Local Debug
