Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'launch/org.eclipse.cdt.launch/src/org/eclipse/cdt/launch/internal/CoreFileLaunchDelegate.java')
-rw-r--r--launch/org.eclipse.cdt.launch/src/org/eclipse/cdt/launch/internal/CoreFileLaunchDelegate.java145
1 files changed, 0 insertions, 145 deletions
diff --git a/launch/org.eclipse.cdt.launch/src/org/eclipse/cdt/launch/internal/CoreFileLaunchDelegate.java b/launch/org.eclipse.cdt.launch/src/org/eclipse/cdt/launch/internal/CoreFileLaunchDelegate.java
deleted file mode 100644
index c773e23d0b1..00000000000
--- a/launch/org.eclipse.cdt.launch/src/org/eclipse/cdt/launch/internal/CoreFileLaunchDelegate.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002, 2012 QNX Software Systems and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * QNX Software Systems - initial API and implementation
- * Monta Vista - Joanne Woo - Bug 87556
- *******************************************************************************/
-package org.eclipse.cdt.launch.internal;
-
-import java.io.File;
-
-import org.eclipse.cdt.core.IBinaryParser.IBinaryObject;
-import org.eclipse.cdt.core.model.ICProject;
-import org.eclipse.cdt.debug.core.CDIDebugModel;
-import org.eclipse.cdt.debug.core.CDebugUtils;
-import org.eclipse.cdt.debug.core.ICDTLaunchConfigurationConstants;
-import org.eclipse.cdt.debug.core.ICDebugConfiguration;
-import org.eclipse.cdt.debug.core.cdi.CDIException;
-import org.eclipse.cdt.debug.core.cdi.ICDISession;
-import org.eclipse.cdt.debug.core.cdi.model.ICDITarget;
-import org.eclipse.cdt.launch.AbstractCLaunchDelegate;
-import org.eclipse.cdt.launch.internal.ui.LaunchMessages;
-import org.eclipse.cdt.launch.internal.ui.LaunchUIPlugin;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.core.IStatusHandler;
-import org.eclipse.debug.core.model.IProcess;
-
-public class CoreFileLaunchDelegate extends AbstractCLaunchDelegate {
-
- @Override
- public void launch(ILaunchConfiguration config, String mode, ILaunch launch, IProgressMonitor monitor) throws CoreException {
- if (monitor == null) {
- monitor = new NullProgressMonitor();
- }
- monitor.beginTask(LaunchMessages.CoreFileLaunchDelegate_Launching_postmortem_debugger, 10);
- // check for cancellation
- if (monitor.isCanceled()) {
- return;
- }
- try {
- monitor.worked(1);
- IPath exePath = CDebugUtils.verifyProgramPath(config);
- ICProject project = CDebugUtils.verifyCProject(config);
- IBinaryObject exeFile = verifyBinary(project, exePath);
-
- ICDebugConfiguration debugConfig = getDebugConfig(config);
- ICDISession dsession = null;
- ICProject cproject = CDebugUtils.getCProject(config);
-
- String path = config.getAttribute(ICDTLaunchConfigurationConstants.ATTR_COREFILE_PATH, (String)null);
- if (path == null) {
- IPath corefile = promptForCoreFilePath((IProject)cproject.getResource(), debugConfig);
- if (corefile == null) {
- cancel(LaunchMessages.CoreFileLaunchDelegate_No_Corefile_selected,
- ICDTLaunchConfigurationConstants.ERR_NO_COREFILE);
- }
- File file = new File(corefile.toString());
- if (!file.exists() || !file.canRead()) {
- cancel(LaunchMessages.CoreFileLaunchDelegate_Corefile_not_readable,
- ICDTLaunchConfigurationConstants.ERR_NO_COREFILE);
- }
- ILaunchConfigurationWorkingCopy wc = config.getWorkingCopy();
- wc.setAttribute(ICDTLaunchConfigurationConstants.ATTR_COREFILE_PATH, corefile.toString());
- wc.launch(mode, new SubProgressMonitor(monitor, 9));
- wc.setAttribute(ICDTLaunchConfigurationConstants.ATTR_COREFILE_PATH, (String)null);
- cancel("", -1); //$NON-NLS-1$
- } else {
- File file = new File(path);
- if (!file.exists() || !file.canRead()) {
- abort(LaunchMessages.CoreFileLaunchDelegate_Corefile_not_readable, null,
- ICDTLaunchConfigurationConstants.ERR_NO_COREFILE);
- }
- dsession = debugConfig.createDebugger().createDebuggerSession(launch, exeFile, new SubProgressMonitor(monitor, 8));
- try {
- // set the source locator
- setDefaultSourceLocator(launch, config);
- ICDITarget[] targets = dsession.getTargets();
- for (int i = 0; i < targets.length; i++) {
- Process process = targets[i].getProcess();
- IProcess iprocess = null;
- if (process != null) {
- iprocess = DebugPlugin.newProcess(launch, process, renderProcessLabel(exePath.toOSString()), getDefaultProcessMap());
- }
- CDIDebugModel.newDebugTarget(launch, project.getProject(), targets[i], renderTargetLabel(debugConfig),
- iprocess, exeFile, true, false, false);
- }
- } catch (CoreException e) {
- try {
- dsession.terminate();
- } catch (CDIException cdi) {
- }
- throw e;
- }
- }
- } finally {
- monitor.done();
- }
-
- }
-
- protected IPath promptForCoreFilePath(final IProject project, final ICDebugConfiguration debugConfig) throws CoreException {
- IStatus fPromptStatus = new Status(IStatus.INFO, "org.eclipse.debug.ui", 200, "", null); //$NON-NLS-1$//$NON-NLS-2$
- IStatus processPrompt = new Status(IStatus.INFO, "org.eclipse.cdt.launch", 101, "", null); //$NON-NLS-1$//$NON-NLS-2$
- // consult a status handler
- IStatusHandler prompter = DebugPlugin.getDefault().getStatusHandler(fPromptStatus);
- if (prompter != null) {
- Object result = prompter.handleStatus(processPrompt, new Object[]{project, debugConfig});
- if (result instanceof IPath) {
- return (IPath)result;
- }
- }
- return null;
- }
-
- @Override
- public String getPluginID() {
- return LaunchUIPlugin.getUniqueIdentifier();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.cdt.launch.AbstractCLaunchConfigurationDelegate#preLaunchCheck(org.eclipse.debug.core.ILaunchConfiguration,
- * java.lang.String, org.eclipse.core.runtime.IProgressMonitor)
- */
- @Override
- public boolean preLaunchCheck(ILaunchConfiguration configuration, String mode, IProgressMonitor monitor) {
- return true; // no pre launch check for core file
- }
-} \ No newline at end of file

Back to the top