org.eclipse.cdt.dsf.gdb.launching.GdbLaunch Java Examples

The following examples show how to use org.eclipse.cdt.dsf.gdb.launching.GdbLaunch. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: GoDebugLaunchConfigurationDelegate.java    From goclipse with Eclipse Public License 1.0 6 votes vote down vote up
@Override
protected GdbLaunchDelegateExtension createGdbLaunchDelegate() {
	return new GdbLaunchDelegateExtension() {
		@Override
		protected GdbLaunch createGdbLaunch(ILaunchConfiguration configuration, String mode, ISourceLocator locator)
				throws CoreException {
			return doCreateGdbLaunch(configuration, mode, locator);
		}
		
		@Override
		protected LangDebugServicesExtensions createServicesExtensions(
				IDsfDebugServicesFactory parentServiceFactory) {
			return new GoDebugServicesExtensions(parentServiceFactory);
		};
	};
}
 
Example #2
Source File: DsfGdbAdaptor.java    From tracecompass with Eclipse Public License 2.0 5 votes vote down vote up
@Override
public synchronized void launchesTerminated(ILaunch[] launches) {
    for (ILaunch launch : launches) {
        String sessionId = ((GdbLaunch) launch).getSession().getId();
        closeGdbTraceEditor(sessionId);
    }
}
 
Example #3
Source File: DsfGdbAdaptor.java    From tracecompass with Eclipse Public License 2.0 5 votes vote down vote up
/**
 * Builds a launcher and launches a Post-mortem GDB session, based on a
 * previously-gathered GDB Tracepoint file.  The information used to
 * create the launcher is provided to the constructor of this class,
 * at instantiation time.
 * <p>
 * Note: Requires GDB 7.2 or later
 */
private void launchDGBPostMortemTrace() throws CoreException {
    fIsTimeoutEnabled = Platform.getPreferencesService().getBoolean(GdbPlugin.PLUGIN_ID, IGdbDebugPreferenceConstants.PREF_COMMAND_TIMEOUT, false, null);
    if (fIsTimeoutEnabled) {
        fTimeout = Platform.getPreferencesService().getInt(GdbPlugin.PLUGIN_ID, IGdbDebugPreferenceConstants.PREF_COMMAND_TIMEOUT_VALUE, IGdbDebugPreferenceConstants.COMMAND_TIMEOUT_VALUE_DEFAULT, null);
    }

    ILaunchConfigurationType configType = DebugPlugin
            .getDefault()
            .getLaunchManager()
            .getLaunchConfigurationType("org.eclipse.cdt.launch.postmortemLaunchType"); //$NON-NLS-1$
    ILaunchConfigurationWorkingCopy wc = configType.newInstance(null, fTraceFile);

    wc.setAttribute("org.eclipse.cdt.dsf.gdb.DEBUG_NAME", gdb72Executable); //$NON-NLS-1$
    wc.setAttribute("org.eclipse.cdt.dsf.gdb.POST_MORTEM_TYPE", "TRACE_FILE"); //$NON-NLS-1$ //$NON-NLS-2$
    wc.setAttribute("org.eclipse.cdt.launch.ATTR_BUILD_BEFORE_LAUNCH_ATTR", 0); //$NON-NLS-1$
    wc.setAttribute("org.eclipse.cdt.launch.COREFILE_PATH", fTraceFilePath); //$NON-NLS-1$
    wc.setAttribute("org.eclipse.cdt.launch.DEBUGGER_START_MODE", "core"); //$NON-NLS-1$ //$NON-NLS-2$
    wc.setAttribute("org.eclipse.cdt.launch.PROGRAM_NAME", tracedExecutable); //$NON-NLS-1$
    // So that the GDB launch is synchronous
    wc.setAttribute("org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND", false); //$NON-NLS-1$

    if (!sourceLocator.isEmpty()) {
        wc.setAttribute("org.eclipse.debug.core.source_locator_memento", sourceLocator); //$NON-NLS-1$
    }

    // Launch GDB session
    fLaunch = wc.doSave().launch("debug", null); //$NON-NLS-1$
    isTerminating = false;

    if (fLaunch instanceof GdbLaunch) {
        fSessionId = ((GdbLaunch) fLaunch).getSession().getId();
    }

    fDsfSession = ((GdbLaunch) fLaunch).getSession();
    fDsfSession.addServiceEventListener(this, null);

    // Find the number of frames contained in the tracepoint file
    fNumberOfFrames = findNumFrames();
}
 
Example #4
Source File: AbstractLangDebugLaunchConfigurationDelegate.java    From goclipse with Eclipse Public License 1.0 4 votes vote down vote up
@Override
protected GdbLaunch createGdbLaunch(ILaunchConfiguration configuration, String mode,
		ISourceLocator locator) throws CoreException {
	return doCreateGdbLaunch(configuration, mode, locator);
}
 
Example #5
Source File: AbstractLangDebugLaunchConfigurationDelegate.java    From goclipse with Eclipse Public License 1.0 4 votes vote down vote up
protected abstract GdbLaunch doCreateGdbLaunch(ILaunchConfiguration configuration, String mode,
ISourceLocator locator);
 
Example #6
Source File: AbstractLangDebugLaunchConfigurationDelegate.java    From goclipse with Eclipse Public License 1.0 4 votes vote down vote up
protected GdbLaunch getGDBLaunch_() {
	return (GdbLaunch) getSession().getModelAdapter(ILaunch.class);
}
 
Example #7
Source File: GoDebugLaunchConfigurationDelegate.java    From goclipse with Eclipse Public License 1.0 4 votes vote down vote up
@Override
protected GdbLaunch doCreateGdbLaunch(ILaunchConfiguration configuration, String mode, ISourceLocator locator) {
	return new GoGdbLaunch(configuration, mode, locator);
}