1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-06-05 08:46:02 +02:00

Bug 484900: Remove Majority of CDI classes

This is the first change to remove CDI from CDT. The CDI model
implementation is removed along with everything that directly
depends upon the implementation.

This commit does not include refactoring or moving classes. The few
insertions are the minimum necessary.

Change-Id: I80274e1a0d77bc7bb00a2afe4babc00c4f7613ae
Signed-off-by: Jonah Graham <jonah@kichwacoders.com>
This commit is contained in:
Jonah Graham 2016-03-08 23:03:16 +00:00 committed by Marc Khouzam
parent 219cf56e7f
commit ff7f25b94d
835 changed files with 64 additions and 84578 deletions

View file

@ -11,7 +11,6 @@ Require-Bundle: org.eclipse.rse.ui;bundle-version="[3.0.0,4.0.0)",
org.eclipse.rse.core;bundle-version="[3.0.0,4.0.0)",
org.eclipse.rse.services;bundle-version="[3.0.0,4.0.0)",
org.eclipse.cdt.launch,
org.eclipse.cdt.debug.mi.core,
org.eclipse.cdt.debug.core,
org.eclipse.cdt.core,
org.eclipse.debug.ui,
@ -19,7 +18,6 @@ Require-Bundle: org.eclipse.rse.ui;bundle-version="[3.0.0,4.0.0)",
org.eclipse.debug.core,
org.eclipse.core.resources,
org.eclipse.core.runtime,
org.eclipse.cdt.debug.mi.ui,
org.eclipse.cdt.debug.ui,
org.eclipse.rse.files.ui;bundle-version="[3.0.0,4.0.0)",
org.eclipse.cdt.dsf.gdb;bundle-version="3.0.0",

View file

@ -18,7 +18,7 @@ Anna Dushistova (Mentor Graphics) - code restructuring
<launchDelegate
id="org.eclipse.rse.remotecdt.launch"
type="org.eclipse.cdt.launch.remoteApplicationLaunchType"
modes="run,debug"
modes="run"
delegate="org.eclipse.cdt.launch.remote.launching.RemoteRunLaunchDelegate"
name="%cdiLaunchDelegate.name"
delegateDescription="%cdiLaunchDelegate.description"
@ -83,14 +83,6 @@ Anna Dushistova (Mentor Graphics) - code restructuring
<associatedDelegate delegate="org.eclipse.rse.remotecdt.dsf.debug"/>
<placement after="org.eclipse.cdt.launch.remote.dsf.mainTab"/>
</tab>
<tab
id="org.eclipse.rse.remotecdt.launch.RemoteCDebuggerTab"
group="org.eclipse.cdt.launch.remoteApplicationLaunchTabGroup"
name="Debugger"
class="org.eclipse.cdt.launch.remote.tabs.RemoteCDebuggerTab">
<associatedDelegate delegate="org.eclipse.rse.remotecdt.launch"/>
<placement after="org.eclipse.cdt.cdi.launch.argumentsTab"/>
</tab>
<tab id="org.eclipse.rse.remotecdt.dsf.debug.RemoteCDSFDebuggerTab"
group="org.eclipse.cdt.launch.remoteApplicationLaunchTabGroup"
name="Debugger"
@ -141,27 +133,6 @@ Anna Dushistova (Mentor Graphics) - code restructuring
</extension>
<extension
point="org.eclipse.cdt.debug.core.CDebugger">
<debugger
class="org.eclipse.cdt.debug.mi.core.GDBServerCDIDebugger2"
cpu="*"
id="org.eclipse.rse.remotecdt.RemoteGDBDebugger"
modes="run"
name="remote gdb/mi"
platform="*">
</debugger>
</extension>
<extension
point="org.eclipse.cdt.debug.ui.CDebuggerPage">
<debuggerPage
class="org.eclipse.cdt.launch.remote.tabs.RemoteGDBDebuggerPage"
debuggerID="org.eclipse.rse.remotecdt.RemoteGDBDebugger"
id="org.eclipse.rse.remotecdt.RemoteGDBDebuggerPage">
</debuggerPage>
</extension>
<!-- ============================================ -->
<!-- Define Help Context -->
<!-- ============================================ -->

View file

@ -13,11 +13,9 @@
package org.eclipse.cdt.launch.remote;
import org.eclipse.cdt.debug.mi.core.IGDBServerMILaunchConfigurationConstants;
import org.eclipse.debug.core.DebugPlugin;
public interface IRemoteConnectionConfigurationConstants extends
IGDBServerMILaunchConfigurationConstants {
public interface IRemoteConnectionConfigurationConstants {
public static final String ATTR_REMOTE_CONNECTION =
DebugPlugin.getUniqueIdentifier() + ".REMOTE_TCP"; //$NON-NLS-1$

View file

@ -26,15 +26,7 @@ package org.eclipse.cdt.launch.remote.launching;
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.ICDIDebugger2;
import org.eclipse.cdt.debug.core.ICDTLaunchConfigurationConstants;
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.debug.mi.core.GDBServerCDIDebugger2;
import org.eclipse.cdt.debug.mi.core.IGDBServerMILaunchConfigurationConstants;
import org.eclipse.cdt.internal.launch.remote.Activator;
import org.eclipse.cdt.internal.launch.remote.Messages;
import org.eclipse.cdt.launch.AbstractCLaunchDelegate;
@ -50,26 +42,12 @@ 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.ILaunchManager;
import org.eclipse.debug.core.model.IProcess;
import org.eclipse.osgi.util.NLS;
import org.eclipse.rse.core.RSECorePlugin;
import org.eclipse.rse.services.shells.HostShellProcessAdapter;
import org.eclipse.rse.services.shells.IHostOutput;
import org.eclipse.rse.services.shells.IHostShell;
import org.eclipse.rse.services.shells.IHostShellChangeEvent;
import org.eclipse.rse.services.shells.IHostShellOutputListener;
public class RemoteRunLaunchDelegate extends AbstractCLaunchDelegate {
private ICDISession dsession;
/*
* (non-Javadoc)
*
* @see org.eclipse.debug.core.model.ILaunchConfigurationDelegate#launch
*/
@Override
public void launch(ILaunchConfiguration config, String mode,
ILaunch launch, IProgressMonitor monitor) throws CoreException {
@ -102,200 +80,8 @@ public class RemoteRunLaunchDelegate extends AbstractCLaunchDelegate {
e));
}
}
if (mode.equals(ILaunchManager.DEBUG_MODE)) {
monitor.beginTask(Messages.RemoteRunLaunchDelegate_0, 100);
setDefaultSourceLocator(launch, config);
String debugMode = config
.getAttribute(
ICDTLaunchConfigurationConstants.ATTR_DEBUGGER_START_MODE,
ICDTLaunchConfigurationConstants.DEBUGGER_MODE_RUN);
if (debugMode
.equals(ICDTLaunchConfigurationConstants.DEBUGGER_MODE_RUN)) {
Process remoteShellProcess = null;
dsession = null;
try {
// Download the binary to the remote before debugging.
monitor.setTaskName(Messages.RemoteRunLaunchDelegate_2);
RSEHelper.remoteFileDownload(config, launch, exePath.toString(),
remoteExePath, new SubProgressMonitor(monitor,
80));
// Automatically start up the gdbserver. In the future
// this should be expanded to launch
// an arbitrary remote daemon.
String gdbserver_port_number = config
.getAttribute(
IRemoteConnectionConfigurationConstants.ATTR_GDBSERVER_PORT,
IRemoteConnectionConfigurationConstants.ATTR_GDBSERVER_PORT_DEFAULT);
String gdbserver_command = config
.getAttribute(
IRemoteConnectionConfigurationConstants.ATTR_GDBSERVER_COMMAND,
IRemoteConnectionConfigurationConstants.ATTR_GDBSERVER_COMMAND_DEFAULT);
String gdbserver_options = config
.getAttribute(
IRemoteConnectionConfigurationConstants.ATTR_GDBSERVER_OPTIONS,
IRemoteConnectionConfigurationConstants.ATTR_GDBSERVER_OPTIONS_DEFAULT);
String command_arguments = gdbserver_options + " " //$NON-NLS-1$
+ ":" + gdbserver_port_number + " " //$NON-NLS-1$ //$NON-NLS-2$
+ RSEHelper.spaceEscapify(remoteExePath);
if (arguments != null && !arguments.equals("")) //$NON-NLS-1$
command_arguments += " " + arguments; //$NON-NLS-1$
monitor.setTaskName(Messages.RemoteRunLaunchDelegate_9);
IHostShell remoteShell = null;
try {
remoteShell = RSEHelper.execCmdInRemoteShell(config, prelaunchCmd,
gdbserver_command, command_arguments,
new SubProgressMonitor(monitor, 5));
} catch (Exception e1) {
RSEHelper.abort(e1.getMessage(), e1,
ICDTLaunchConfigurationConstants.ERR_INTERNAL_ERROR);
}
// We cannot use a global variable because multiple launches
// could access them at the same time. We need a different
// variable for each launch, but we also need it be final.
// Use a final array to do that.
final boolean gdbServerReady[] = new boolean[1];
gdbServerReady[0] = false;
final Object lock = new Object();
if (remoteShell != null) {
remoteShell
.addOutputListener(new IHostShellOutputListener() {
public void shellOutputChanged(
IHostShellChangeEvent event) {
for (IHostOutput line : event
.getLines()) {
if (line.getString().contains(
"Listening on port")) { //$NON-NLS-1$
synchronized (lock) {
gdbServerReady[0] = true;
lock.notifyAll();
}
break;
}
}
}
});
try {
remoteShellProcess = new HostShellProcessAdapter(remoteShell) {
@Override
public synchronized void destroy() {
ICDISession session = getSession();
if (session != null) {
try {
session.terminate();
} catch (CDIException e) {
}
}
super.destroy();
}
};
} catch (Exception e) {
if (remoteShellProcess != null) {
remoteShellProcess.destroy();
}
RSEHelper.abort(Messages.RemoteRunLaunchDelegate_7, e,
ICDTLaunchConfigurationConstants.ERR_INTERNAL_ERROR);
}
IProcess rsProcess = DebugPlugin
.newProcess(
launch,
remoteShellProcess,
Messages.RemoteRunLaunchDelegate_RemoteShell);
// Now wait until gdbserver is up and running on the
// remote host
synchronized (lock) {
while (gdbServerReady[0] == false) {
if (monitor.isCanceled()
|| rsProcess.isTerminated()) {
RSEHelper.abort(Messages.RemoteGdbLaunchDelegate_gdbserverFailedToStartErrorMessage, null,
ICDTLaunchConfigurationConstants.ERR_DEBUGGER_NOT_INSTALLED);
}
try {
lock.wait(300);
} catch (InterruptedException e) {
}
}
}
// Pre-set configuration constants for the
// GDBSERVERCDIDebugger to indicate how the gdbserver
// was automatically started on the remote.
// GDBServerCDIDebugger uses these to figure out how
// to connect to the remote gdbserver.
ILaunchConfigurationWorkingCopy wc = config
.getWorkingCopy();
wc
.setAttribute(
IGDBServerMILaunchConfigurationConstants.ATTR_REMOTE_TCP,
true);
wc
.setAttribute(
IGDBServerMILaunchConfigurationConstants.ATTR_HOST,
RSEHelper.getRemoteHostname(config));
wc
.setAttribute(
IGDBServerMILaunchConfigurationConstants.ATTR_PORT,
gdbserver_port_number);
wc.doSave();
// Default to using the GDBServerCDIDebugger.
GDBServerCDIDebugger2 debugger = new GDBServerCDIDebugger2();
dsession = ((ICDIDebugger2) debugger).createSession(
launch, exePath.toFile(),
new SubProgressMonitor(monitor, 15));
boolean stopInMain = config
.getAttribute(
ICDTLaunchConfigurationConstants.ATTR_DEBUGGER_STOP_AT_MAIN,
false);
String stopSymbol = null;
if (stopInMain)
stopSymbol = launch
.getLaunchConfiguration()
.getAttribute(
ICDTLaunchConfigurationConstants.ATTR_DEBUGGER_STOP_AT_MAIN_SYMBOL,
ICDTLaunchConfigurationConstants.DEBUGGER_STOP_AT_MAIN_SYMBOL_DEFAULT);
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],
renderProcessLabel("gdbserver debugger"), //$NON-NLS-1$
iprocess, exeFile, true, false, stopSymbol,
true);
}
}
} catch (CoreException e) {
try {
if (dsession != null)
dsession.terminate();
if (remoteShellProcess != null)
remoteShellProcess.destroy();
} catch (CDIException e1) {
// ignore
}
throw e;
} finally {
monitor.done();
}
}
} else if (mode.equals(ILaunchManager.RUN_MODE)) {
if (mode.equals(ILaunchManager.RUN_MODE)) {
monitor.beginTask(Messages.RemoteRunLaunchDelegate_0, 100);
Process remoteProcess = null;
try {
@ -329,8 +115,4 @@ public class RemoteRunLaunchDelegate extends AbstractCLaunchDelegate {
protected String getPluginID() {
return Activator.PLUGIN_ID;
}
ICDISession getSession(){
return dsession;
}
}

View file

@ -1,108 +0,0 @@
/*******************************************************************************
* Copyright (c) 2006, 2012 PalmSource, Inc. 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:
* Ewa Matejska (PalmSource)
* Anna Dushistova (Mentor Graphics) - [314659] move remote launch/debug to DSF
* Anna Dushistova (Mentor Graphics) - moved to org.eclipse.cdt.launch.remote.tabs
*******************************************************************************/
package org.eclipse.cdt.launch.remote.tabs;
import java.util.ArrayList;
import java.util.List;
import org.eclipse.cdt.debug.core.CDebugCorePlugin;
import org.eclipse.cdt.debug.core.ICDebugConfiguration;
import org.eclipse.cdt.launch.ui.CDebuggerTab;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.debug.core.ILaunchConfiguration;
import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.PlatformUI;
public class RemoteCDebuggerTab extends CDebuggerTab {
private final static String DEFAULTS_SET = "org.eclipse.cdt.launch.remote.RemoteCDSFDebuggerTab.DEFAULTS_SET"; //$NON-NLS-1$
public RemoteCDebuggerTab() {
super(false);
}
@Override
public void createControl(Composite parent) {
super.createControl(parent);
PlatformUI
.getWorkbench()
.getHelpSystem()
.setHelp(getControl(),
"org.eclipse.rse.internal.remotecdt.launchgroup"); //$NON-NLS-1$
}
static final private String REMOTE_GDB_DEBUGGER_NAME = "remote gdb/mi"; //$NON-NLS-1$
public RemoteCDebuggerTab(boolean attachMode) {
super(attachMode);
}
@Override
protected void loadDebuggerComboBox(ILaunchConfiguration config,
String selection) {
ICDebugConfiguration[] debugConfigs = CDebugCorePlugin.getDefault()
.getDebugConfigurations();
String defaultSelection = selection;
List list = new ArrayList();
for (int i = 0; i < debugConfigs.length; i++) {
ICDebugConfiguration configuration = debugConfigs[i];
if (configuration.getName().equals(REMOTE_GDB_DEBUGGER_NAME)) {
list.add(configuration);
// Select as default selection
defaultSelection = configuration.getID();
break;
}
}
setInitializeDefault(defaultSelection.equals("") ? true : false); //$NON-NLS-1$
loadDebuggerCombo(
(ICDebugConfiguration[]) list.toArray(new ICDebugConfiguration[list
.size()]), defaultSelection);
}
@Override
public String getId() {
return "org.eclipse.rse.remotecdt.launch.RemoteCDebuggerTab"; //$NON-NLS-1$
}
/*
* When the launch configuration is created for Run mode, this Debugger tab
* is not created because it is not used for Run mode but only for Debug
* mode. When we then open the same configuration in Debug mode, the launch
* configuration already exists and initializeFrom() is called instead of
* setDefaults(). We therefore call setDefaults() ourselves and update the
* configuration. If we don't then the user will be required to press Apply
* to get the default settings saved. Bug 281970
*/
@Override
public void setDefaults(ILaunchConfigurationWorkingCopy config) {
config.setAttribute(DEFAULTS_SET, true);
super.setDefaults(config);
}
@Override
public void initializeFrom(ILaunchConfiguration config) {
try {
if (config.hasAttribute(DEFAULTS_SET) == false) {
ILaunchConfigurationWorkingCopy wc;
wc = config.getWorkingCopy();
setDefaults(wc);
wc.doSave();
}
} catch (CoreException e) {
}
super.initializeFrom(config);
}
}

View file

@ -1,178 +0,0 @@
/*******************************************************************************
* Copyright (c) 2006, 2016 PalmSource, Inc. 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:
* Ewa Matejska (PalmSource)
*
* Referenced GDBDebuggerPage code to write this.
* Anna Dushistova (Mentor Graphics) - moved to org.eclipse.cdt.launch.remote.tabs
*******************************************************************************/
package org.eclipse.cdt.launch.remote.tabs;
import org.eclipse.cdt.debug.mi.internal.ui.GDBDebuggerPage;
import org.eclipse.cdt.internal.launch.remote.Messages;
import org.eclipse.cdt.launch.remote.IRemoteConnectionConfigurationConstants;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.debug.core.ILaunchConfiguration;
import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.ModifyEvent;
import org.eclipse.swt.events.ModifyListener;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.TabFolder;
import org.eclipse.swt.widgets.TabItem;
import org.eclipse.swt.widgets.Text;
/**
* The dynamic debugger tab for remote launches using gdb server.
* The gdbserver settings are used to start a gdbserver session on the
* remote and then to connect to it from the host. The DSDP-TM project is
* used to accomplish this.
*/
public class RemoteGDBDebuggerPage extends GDBDebuggerPage {
protected Text fGDBServerCommandText;
protected Text fGDBServerPortNumberText;
protected Text fGDBServerOptionsText;
@Override
public String getName() {
return Messages.Remote_GDB_Debugger_Options;
}
@Override
public void setDefaults( ILaunchConfigurationWorkingCopy configuration ) {
super.setDefaults(configuration);
configuration.setAttribute( IRemoteConnectionConfigurationConstants.ATTR_GDBSERVER_COMMAND,
IRemoteConnectionConfigurationConstants.ATTR_GDBSERVER_COMMAND_DEFAULT );
configuration.setAttribute( IRemoteConnectionConfigurationConstants.ATTR_GDBSERVER_PORT,
IRemoteConnectionConfigurationConstants.ATTR_GDBSERVER_PORT_DEFAULT );
configuration.setAttribute( IRemoteConnectionConfigurationConstants.ATTR_GDBSERVER_OPTIONS,
IRemoteConnectionConfigurationConstants.ATTR_GDBSERVER_OPTIONS_DEFAULT );
}
@Override
public void initializeFrom( ILaunchConfiguration configuration ) {
super.initializeFrom(configuration);
String gdbserverCommand = null;
String gdbserverPortNumber = null;
String gdbserverOptions = null;
try {
gdbserverCommand = configuration.getAttribute( IRemoteConnectionConfigurationConstants.ATTR_GDBSERVER_COMMAND,
IRemoteConnectionConfigurationConstants.ATTR_GDBSERVER_COMMAND_DEFAULT);
}
catch( CoreException e ) {
}
try {
gdbserverPortNumber = configuration.getAttribute( IRemoteConnectionConfigurationConstants.ATTR_GDBSERVER_PORT,
IRemoteConnectionConfigurationConstants.ATTR_GDBSERVER_PORT_DEFAULT );
}
catch( CoreException e ) {
}
try {
gdbserverOptions = configuration.getAttribute( IRemoteConnectionConfigurationConstants.ATTR_GDBSERVER_OPTIONS,
IRemoteConnectionConfigurationConstants.ATTR_GDBSERVER_OPTIONS_DEFAULT );
}
catch( CoreException e ) {
}
fGDBServerCommandText.setText( gdbserverCommand );
fGDBServerPortNumberText.setText( gdbserverPortNumber );
fGDBServerOptionsText.setText( gdbserverOptions );
}
@Override
public void performApply( ILaunchConfigurationWorkingCopy configuration ) {
super.performApply(configuration);
String str = fGDBServerCommandText.getText();
str.trim();
configuration.setAttribute( IRemoteConnectionConfigurationConstants.ATTR_GDBSERVER_COMMAND, str );
str = fGDBServerPortNumberText.getText();
str.trim();
configuration.setAttribute( IRemoteConnectionConfigurationConstants.ATTR_GDBSERVER_PORT, str );
str = fGDBServerOptionsText.getText();
str.trim();
configuration.setAttribute( IRemoteConnectionConfigurationConstants.ATTR_GDBSERVER_OPTIONS, str );
}
protected void createGdbserverSettingsTab( TabFolder tabFolder ) {
TabItem tabItem = new TabItem( tabFolder, SWT.NONE );
tabItem.setText( Messages.Gdbserver_Settings_Tab_Name );
Composite comp = new Composite(tabFolder, SWT.NULL);
comp.setLayout(new GridLayout(1, true));
comp.setLayoutData(new GridData(GridData.FILL_BOTH));
((GridLayout)comp.getLayout()).makeColumnsEqualWidth = false;
comp.setFont( tabFolder.getFont() );
tabItem.setControl( comp );
Composite subComp = new Composite(comp, SWT.NULL);
subComp.setLayout(new GridLayout(2, true));
subComp.setLayoutData(new GridData(GridData.FILL_BOTH));
((GridLayout)subComp.getLayout()).makeColumnsEqualWidth = false;
subComp.setFont( tabFolder.getFont() );
Label label = new Label(subComp, SWT.LEFT);
label.setText(Messages.Gdbserver_name_textfield_label);
GridData gd = new GridData();
label.setLayoutData( gd );
fGDBServerCommandText = new Text(subComp, SWT.SINGLE | SWT.BORDER);
GridData data = new GridData(SWT.FILL, SWT.TOP, true, false);
fGDBServerCommandText.setLayoutData(data);
fGDBServerCommandText.addModifyListener( new ModifyListener() {
public void modifyText( ModifyEvent evt ) {
updateLaunchConfigurationDialog();
}
} );
label = new Label(subComp, SWT.LEFT);
label.setText(Messages.Port_number_textfield_label);
gd = new GridData();
label.setLayoutData( gd );
fGDBServerPortNumberText = new Text(subComp, SWT.SINGLE | SWT.BORDER);
data = new GridData(SWT.FILL, SWT.TOP, true, false);
fGDBServerPortNumberText.setLayoutData(data);
fGDBServerPortNumberText.addModifyListener( new ModifyListener() {
public void modifyText( ModifyEvent evt ) {
updateLaunchConfigurationDialog();
}
} );
label = new Label(subComp, SWT.LEFT);
label.setText(Messages.Gdbserver_options_textfield_label);
gd = new GridData();
label.setLayoutData( gd );
fGDBServerOptionsText = new Text(subComp, SWT.SINGLE | SWT.BORDER);
data = new GridData(SWT.FILL, SWT.TOP, true, false);
fGDBServerOptionsText.setLayoutData(data);
fGDBServerOptionsText.addModifyListener( new ModifyListener() {
public void modifyText( ModifyEvent evt ) {
updateLaunchConfigurationDialog();
}
} );
}
/* (non-Javadoc)
* @see org.eclipse.cdt.debug.mi.internal.ui.GDBDebuggerPage#createTabs(org.eclipse.swt.widgets.TabFolder)
*/
@Override
public void createTabs( TabFolder tabFolder ) {
super.createTabs( tabFolder );
createGdbserverSettingsTab( tabFolder );
}
}

View file

@ -30,7 +30,6 @@
<windowImages i16="/org.eclipse.cdt.debug.application/icons/cc16.png" i32="/org.eclipse.cdt.debug.application/icons/cc32.png" i48="/org.eclipse.cdt.debug.application/icons/cc48.png" i64="/org.eclipse.cdt.debug.application/icons/cc64.png" i128="/org.eclipse.cdt.debug.application/icons/cc128.png" i256="/org.eclipse.cdt.debug.application/icons/cc.png"/>
<launcher name="cdtdebug">
<linux icon="../org.eclipse.cdt.debug.application/icons/cc.xpm"/>
<solaris/>
@ -202,8 +201,6 @@ Java and all Java-based trademarks are trademarks of Oracle Corporation in the U
<plugin id="org.eclipse.cdt.debug.application"/>
<plugin id="org.eclipse.cdt.debug.application.doc"/>
<plugin id="org.eclipse.cdt.debug.core"/>
<plugin id="org.eclipse.cdt.debug.mi.core"/>
<plugin id="org.eclipse.cdt.debug.mi.ui"/>
<plugin id="org.eclipse.cdt.debug.ui"/>
<plugin id="org.eclipse.cdt.debug.ui.memory.floatingpoint"/>
<plugin id="org.eclipse.cdt.debug.ui.memory.memorybrowser"/>

File diff suppressed because one or more lines are too long

View file

@ -8,8 +8,6 @@ Bundle-Vendor: %provider
Require-Bundle: org.eclipse.ui,
org.eclipse.core.runtime,
org.eclipse.cdt.debug.ui;bundle-version="7.3.0",
org.eclipse.cdt.debug.mi.core;bundle-version="7.3.0",
org.eclipse.cdt.debug.mi.ui;bundle-version="6.1.1",
org.eclipse.cdt.dsf;bundle-version="2.4.0",
org.eclipse.cdt.dsf.gdb;bundle-version="4.2.0",
org.eclipse.cdt.dsf.gdb.ui;bundle-version="2.4.0",

View file

@ -2,6 +2,6 @@
#Fri Dec 20 17:38:27 EST 2013
osgi.install.area=file\:$eclipse.home$
osgi.framework=file\:$eclipse.home$/plugins/$osgi.jar$
osgi.bundles=org.eclipse.cdt.core.linux,org.eclipse.linuxtools.cdt.libhover.library.docs,org.eclipse.cdt.core.native,org.eclipse.core.net,org.eclipse.e4.core.di.extensions,org.eclipse.cdt.debug.ui.memory.floatingpoint,org.eclipse.ui.editors,org.eclipse.equinox.ds@1\:start,org.eclipse.search,org.eclipse.text,org.eclipse.jface.databinding,org.eclipse.cdt.debug.ui.memory.search,org.eclipse.debug.core,org.apache.batik.util,org.eclipse.cdt.debug.ui.memory.memorybrowser,org.eclipse.e4.ui.widgets,org.eclipse.cdt.debug.core,org.eclipse.ui,org.eclipse.cdt.make.core,javax.annotation,org.eclipse.equinox.registry,org.eclipse.cdt.dsf.ui,org.eclipse.cdt.debug.ui.memory.traditional,org.eclipse.cdt.ui,org.eclipse.ui.ide,org.w3c.dom.svg,org.eclipse.jface,org.eclipse.ltk.ui.refactoring,org.w3c.dom.smil,org.eclipse.e4.ui.model.workbench,org.eclipse.equinox.bidi,org.eclipse.e4.ui.workbench,org.eclipse.e4.ui.di,org.eclipse.debug.ui,org.eclipse.e4.ui.bindings,org.eclipse.core.contenttype,org.eclipse.e4.ui.workbench.swt,org.eclipse.ui.views,org.eclipse.emf.ecore.change,org.eclipse.equinox.app,org.eclipse.e4.ui.services,org.eclipse.ant.core,org.eclipse.equinox.p2.core,org.eclipse.cdt.core,org.eclipse.cdt.debug.application,org.eclipse.cdt.debug.application.doc,org.eclipse.core.resources,org.eclipse.team.ui,org.eclipse.equinox.common@2\:start,org.eclipse.equinox.p2.engine,org.eclipse.cdt.debug.ui,org.eclipse.ui.views.properties.tabbed,org.eclipse.ui.views.log,org.eclipse.help,org.eclipse.help.ui,org.eclipse.help.base,org.eclipse.help.webapp,org.eclipse.equinox.jsp.jasper,org.eclipse.equinox.jsp.jasper.registry,org.apache.jasper.glassfish,org.apache.lucene.core,org.apache.lucene.analysis,org.eclipse.equinox.http.jetty,org.eclipse.equinox.http.registry,org.eclipse.jetty.http,org.eclipse.equinox.http.servlet,org.eclipse.jetty.io,org.eclipse.jetty.server,org.eclipse.jetty.servlet,org.eclipse.jetty.util,org.eclipse.jetty.continuation,org.eclipse.jetty.security,javax.servlet.jsp,javax.el,org.eclipse.core.filesystem,org.eclipse.equinox.event,org.eclipse.cdt.dsf.gdb.ui,org.eclipse.ltk.core.refactoring,org.eclipse.cdt.debug.mi.ui,com.ibm.icu,org.eclipse.swt,org.eclipse.core.filebuffers,org.eclipse.e4.ui.workbench.addons.swt,javax.inject,$swt.plugin$,org.eclipse.core.databinding.observable,org.eclipse.core.jobs,org.eclipse.ui.forms,org.eclipse.e4.core.contexts,javax.xml,org.eclipse.core.variables,org.eclipse.ui.navigator,org.eclipse.e4.core.commands,org.eclipse.core.databinding,org.eclipse.core.commands,org.eclipse.ui.workbench,org.eclipse.equinox.util,org.eclipse.cdt.launch,org.w3c.css.sac,org.eclipse.e4.ui.workbench.renderers.swt,org.eclipse.cdt.managedbuilder.core,org.eclipse.jface.text,org.eclipse.cdt.managedbuilder.gnu.ui,org.eclipse.equinox.p2.metadata,org.eclipse.emf.ecore.xmi,org.eclipse.emf.common,org.eclipse.cdt.gdb,org.eclipse.compare.core,$linux.plugin$,org.eclipse.ui.console,org.eclipse.cdt.dsf.gdb,javax.servlet,org.eclipse.equinox.p2.repository,org.eclipse.linuxtools.cdt.libhover.glibc,org.eclipse.equinox.security,org.eclipse.compare,org.eclipse.core.runtime@start,org.eclipse.cdt.dsf,org.eclipse.osgi.services,org.eclipse.e4.ui.workbench3,org.eclipse.equinox.preferences,org.w3c.dom.events,org.eclipse.linuxtools.cdt.libhover,org.eclipse.cdt.debug.mi.core,org.eclipse.ui.navigator.resources,org.eclipse.e4.ui.css.core,org.eclipse.ui.workbench.texteditor,org.eclipse.core.expressions,org.eclipse.e4.ui.css.swt.theme,org.eclipse.core.databinding.property,org.eclipse.emf.ecore,org.eclipse.e4.core.services,org.eclipse.cdt.gdb.ui,org.apache.batik.util.gui,org.eclipse.e4.core.di,$fs.plugin$,org.eclipse.team.core,org.eclipse.cdt.debug.ui.memory.transport,org.eclipse.equinox.p2.metadata.repository,org.eclipse.e4.ui.css.swt,org.apache.batik.css,org.eclipse.e4.emf.xpath,org.apache.commons.jxpath,org.tukaani.xz,org.eclipse.e4.core.di.annotations,com.google.gson
osgi.bundles=org.eclipse.cdt.core.linux,org.eclipse.linuxtools.cdt.libhover.library.docs,org.eclipse.cdt.core.native,org.eclipse.core.net,org.eclipse.e4.core.di.extensions,org.eclipse.cdt.debug.ui.memory.floatingpoint,org.eclipse.ui.editors,org.eclipse.equinox.ds@1\:start,org.eclipse.search,org.eclipse.text,org.eclipse.jface.databinding,org.eclipse.cdt.debug.ui.memory.search,org.eclipse.debug.core,org.apache.batik.util,org.eclipse.cdt.debug.ui.memory.memorybrowser,org.eclipse.e4.ui.widgets,org.eclipse.cdt.debug.core,org.eclipse.ui,org.eclipse.cdt.make.core,javax.annotation,org.eclipse.equinox.registry,org.eclipse.cdt.dsf.ui,org.eclipse.cdt.debug.ui.memory.traditional,org.eclipse.cdt.ui,org.eclipse.ui.ide,org.w3c.dom.svg,org.eclipse.jface,org.eclipse.ltk.ui.refactoring,org.w3c.dom.smil,org.eclipse.e4.ui.model.workbench,org.eclipse.equinox.bidi,org.eclipse.e4.ui.workbench,org.eclipse.e4.ui.di,org.eclipse.debug.ui,org.eclipse.e4.ui.bindings,org.eclipse.core.contenttype,org.eclipse.e4.ui.workbench.swt,org.eclipse.ui.views,org.eclipse.emf.ecore.change,org.eclipse.equinox.app,org.eclipse.e4.ui.services,org.eclipse.ant.core,org.eclipse.equinox.p2.core,org.eclipse.cdt.core,org.eclipse.cdt.debug.application,org.eclipse.cdt.debug.application.doc,org.eclipse.core.resources,org.eclipse.team.ui,org.eclipse.equinox.common@2\:start,org.eclipse.equinox.p2.engine,org.eclipse.cdt.debug.ui,org.eclipse.ui.views.properties.tabbed,org.eclipse.ui.views.log,org.eclipse.help,org.eclipse.help.ui,org.eclipse.help.base,org.eclipse.help.webapp,org.eclipse.equinox.jsp.jasper,org.eclipse.equinox.jsp.jasper.registry,org.apache.jasper.glassfish,org.apache.lucene.core,org.apache.lucene.analysis,org.eclipse.equinox.http.jetty,org.eclipse.equinox.http.registry,org.eclipse.jetty.http,org.eclipse.equinox.http.servlet,org.eclipse.jetty.io,org.eclipse.jetty.server,org.eclipse.jetty.servlet,org.eclipse.jetty.util,org.eclipse.jetty.continuation,org.eclipse.jetty.security,javax.servlet.jsp,javax.el,org.eclipse.core.filesystem,org.eclipse.equinox.event,org.eclipse.cdt.dsf.gdb.ui,org.eclipse.ltk.core.refactoring,com.ibm.icu,org.eclipse.swt,org.eclipse.core.filebuffers,org.eclipse.e4.ui.workbench.addons.swt,javax.inject,$swt.plugin$,org.eclipse.core.databinding.observable,org.eclipse.core.jobs,org.eclipse.ui.forms,org.eclipse.e4.core.contexts,javax.xml,org.eclipse.core.variables,org.eclipse.ui.navigator,org.eclipse.e4.core.commands,org.eclipse.core.databinding,org.eclipse.core.commands,org.eclipse.ui.workbench,org.eclipse.equinox.util,org.eclipse.cdt.launch,org.w3c.css.sac,org.eclipse.e4.ui.workbench.renderers.swt,org.eclipse.cdt.managedbuilder.core,org.eclipse.jface.text,org.eclipse.cdt.managedbuilder.gnu.ui,org.eclipse.equinox.p2.metadata,org.eclipse.emf.ecore.xmi,org.eclipse.emf.common,org.eclipse.cdt.gdb,org.eclipse.compare.core,$linux.plugin$,org.eclipse.ui.console,org.eclipse.cdt.dsf.gdb,javax.servlet,org.eclipse.equinox.p2.repository,org.eclipse.linuxtools.cdt.libhover.glibc,org.eclipse.equinox.security,org.eclipse.compare,org.eclipse.core.runtime@start,org.eclipse.cdt.dsf,org.eclipse.osgi.services,org.eclipse.e4.ui.workbench3,org.eclipse.equinox.preferences,org.w3c.dom.events,org.eclipse.linuxtools.cdt.libhover,org.eclipse.ui.navigator.resources,org.eclipse.e4.ui.css.core,org.eclipse.ui.workbench.texteditor,org.eclipse.core.expressions,org.eclipse.e4.ui.css.swt.theme,org.eclipse.core.databinding.property,org.eclipse.emf.ecore,org.eclipse.e4.core.services,org.eclipse.cdt.gdb.ui,org.apache.batik.util.gui,org.eclipse.e4.core.di,$fs.plugin$,org.eclipse.team.core,org.eclipse.cdt.debug.ui.memory.transport,org.eclipse.equinox.p2.metadata.repository,org.eclipse.e4.ui.css.swt,org.apache.batik.css,org.eclipse.e4.emf.xpath,org.apache.commons.jxpath,org.tukaani.xz,org.eclipse.e4.core.di.annotations,com.google.gson
osgi.configuration.cascaded=false
osgi.bundles.defaultStartLevel=4

View file

@ -1,8 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="cdi"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="output" path="bin"/>
</classpath>

View file

@ -1,6 +1,12 @@
#Mon Oct 17 17:40:49 PDT 2011
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=1.7
@ -18,6 +24,7 @@ org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=
org.eclipse.jdt.core.compiler.problem.discouragedReference=ignore
org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
@ -25,33 +32,50 @@ org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning
org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
org.eclipse.jdt.core.compiler.problem.missingSerialVersion=ignore
org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
org.eclipse.jdt.core.compiler.problem.nullReference=error
org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
org.eclipse.jdt.core.compiler.problem.potentialNullReference=warning
org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
@ -61,14 +85,17 @@ org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=ignore
org.eclipse.jdt.core.compiler.problem.unusedImport=error
org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
org.eclipse.jdt.core.compiler.source=1.7

View file

@ -2,16 +2,12 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.cdt.debug.core; singleton:=true
Bundle-Version: 7.8.0.qualifier
Bundle-Version: 8.0.0.qualifier
Bundle-Activator: org.eclipse.cdt.debug.core.CDebugCorePlugin
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Export-Package: org.eclipse.cdt.debug.core,
org.eclipse.cdt.debug.core.breakpointactions,
org.eclipse.cdt.debug.core.cdi,
org.eclipse.cdt.debug.core.cdi.event,
org.eclipse.cdt.debug.core.cdi.model,
org.eclipse.cdt.debug.core.cdi.model.type,
org.eclipse.cdt.debug.core.command,
org.eclipse.cdt.debug.core.disassembly,
org.eclipse.cdt.debug.core.executables,

View file

@ -20,6 +20,5 @@ javadoc.packages = org.eclipse.cdt.debug.core.*,\
org.eclipse.cdt.debug.core.cdi.model.*
src.includes = schema/,\
about.html
source.. = src/,\
cdi/
source.. = src/

View file

@ -1,57 +0,0 @@
/*******************************************************************************
* Copyright (c) 2000, 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
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi;
/**
*
* Represents a failure in the CDI model operations.
*
* @since Jul 9, 2002
*/
public class CDIException extends Exception {
/**
* All serializable objects should have a stable serialVersionUID
*/
private static final long serialVersionUID = 1L;
String details = ""; //$NON-NLS-1$
public CDIException() {
super();
}
public CDIException(String s) {
super(s);
}
public CDIException(String s, String d) {
super(s);
details = d;
}
/**
* Returns a more details message(if any).
*/
public String getDetailMessage() {
return details;
}
/* (non-Javadoc)
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
return super.toString() + '['+ getDetailMessage() + ']';
}
}

View file

@ -1,30 +0,0 @@
/*******************************************************************************
* Copyright (c) 2000, 2005 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
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi;
import java.math.BigInteger;
/**
*
* Represents a line location in the debuggable program.
*
*/
public interface ICDIAddressLocation extends ICDILocation {
/**
* Returns the address of this location.
*
* @return BigInteger - the address of this location
*/
BigInteger getAddress();
}

View file

@ -1,30 +0,0 @@
/*******************************************************************************
* Copyright (c) 2000, 2006 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
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi;
import org.eclipse.cdt.debug.core.cdi.model.ICDIBreakpoint;
/**
*
* Represents an information provided by the session when the program
* stopped by a breakpoint.
*
* @since Aug 27, 2002
*/
public interface ICDIBreakpointHit extends ICDISessionObject {
/**
* Returns the breakpoint that stopped the program.
*
* @return the breakpoint that stopped the program
*/
ICDIBreakpoint getBreakpoint();
}

View file

@ -1,43 +0,0 @@
/*******************************************************************************
* Copyright (c) 2000, 2006 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
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi;
/**
*
* Represents a break condition.
*
* @since Jul 9, 2002
*/
public interface ICDICondition {
/**
* Returns the condition expression.
*
* @return the condition expression
*/
String getExpression();
/**
* Returns the ignore count of this condition.
*
* @return the ignore count of this condition
*/
int getIgnoreCount();
/**
* Returns the thread Ids for this condition.
*
* @return the thread Ids for this condition.
*/
String[] getThreadIds();
boolean equals(ICDICondition cond);
}

View file

@ -1,21 +0,0 @@
/*******************************************************************************
* Copyright (c) 2000, 2006 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
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi;
/**
*
* Represents an information provided by the session when a step command
* is completed.
*
* @since Jul 10, 2002
*/
public interface ICDIEndSteppingRange extends ICDISessionObject {
}

View file

@ -1,31 +0,0 @@
/*******************************************************************************
* Copyright (c) 2000, 2006 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
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi;
/**
*
* Represents an information provided by the session when the program
* exited.
*
* @since Jul 10, 2002
*/
public interface ICDIErrorInfo extends ICDISessionObject {
/**
* Returns the error message.
*/
String getMessage();
/**
* Returns a more verbatim error message(if any).
*/
String getDetailMessage();
}

View file

@ -1,24 +0,0 @@
/*******************************************************************************
* Copyright (c) 2010 Freescale Semiconductor 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:
* Freescale Semiconductor - Initial API and implementation
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi;
/**
* Represents an information provided by the session when the program is
* stopped by an event breakpoint
* @since 7.0
*/
public interface ICDIEventBreakpointHit extends ICDISessionObject {
/**
* Return the type of event breakpoint, as reported by the debugger backend
* (e.g., gdb) when it reports the target suspended
*/
String getEventBreakpointType();
}

View file

@ -1,43 +0,0 @@
/*******************************************************************************
* Copyright (c) 2000, 2006 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
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi;
import org.eclipse.cdt.debug.core.cdi.event.ICDIEventListener;
/**
*
* Clients interested in the CDI model change notification may
* register with this object.
*
* @since Jul 10, 2002
*/
public interface ICDIEventManager extends ICDISessionObject {
/**
* Adds the given listener to the collection of registered
* event listeners. Has no effect if an identical listener is
* already registered.
*
* @param listener - the listener to add
*/
void addEventListener( ICDIEventListener listener );
/**
* Removes the given listener from the collection of registered
* event listeners. Has no effect if an identical listener is not
* already registered.
*
* @param listener - the listener to remove
*/
void removeEventListener( ICDIEventListener listener );
}

View file

@ -1,30 +0,0 @@
/*******************************************************************************
* Copyright (c) 2000, 2006 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
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi;
/**
*
* Represents an information provided by the session when the program
* exited.
*
* @since Jul 10, 2002
*/
public interface ICDIExitInfo extends ICDISessionObject {
/**
* Returns an exit code.
*
* @return an exit code
*/
int getCode();
}

View file

@ -1,24 +0,0 @@
/*******************************************************************************
* Copyright (c) 2000, 2005 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
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi;
public interface ICDIFileLocation extends ICDILocation {
/**
* Returns the source file of this location or <code>null</code>
* if the source file is unknown.
*
* @return the source file of this location
*/
String getFile();
}

View file

@ -1,25 +0,0 @@
/*******************************************************************************
* Copyright (c) 2000, 2008 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
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi;
/**
* Format constants.
*/
public interface ICDIFormat {
final static int NATURAL = 0;
final static int DECIMAL = 1;
final static int BINARY = 2;
final static int OCTAL = 3;
final static int HEXADECIMAL = 4;
final static int FLOAT = 5;
}

View file

@ -1,37 +0,0 @@
/*******************************************************************************
* Copyright (c) 2005, 2007 Freescale, Inc.
* 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:
* Freescale, Inc. - initial API and implementation
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi;
/**
* The CDI client's implementation of ICDIValue should implement this interface
* if it wants to dictate the variable/register's natural format. If it doesn't,
* CDT will provide a default behavior (e.g., all integral, non-pointer
* ICDIValue variants will display as decimal).
*
* CDT will exercise this interface only for ICDIValue's whose natural
* format isn't obvious or implied. For example, it will not be exercised for
* ICDIDoubleValue, ICDICharValue or ICDIBoolValue, to name a few.
*
*
*/
public interface ICDIFormattable {
/**
* Called when there is no obvious or implied natural format for the
* ICDIValue.
*
* @return one of the ICDIFormat constants, excluding 'NATURAL' and 'OCTAL'.
* Octal is not supported simply because the general support for it
* is lacking in CDT (apparently no one is asking for it).
* @throws CDIException
*/
int getNaturalFormat() throws CDIException;
}

View file

@ -1,35 +0,0 @@
/*******************************************************************************
* Copyright (c) 2002, 2006 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
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi;
import org.eclipse.cdt.debug.core.cdi.model.ICDIValue;
import org.eclipse.cdt.debug.core.cdi.model.type.ICDIType;
/*
* ICDIFunctionFinished
*/
public interface ICDIFunctionFinished extends ICDIEndSteppingRange {
/**
* Return the type of the return value of
* the function.
*
* @return ICDIType returnType value
*/
ICDIType getReturnType() throws CDIException;
/**
* The return value of the function.
*
* @return
*/
ICDIValue getReturnValue() throws CDIException;
}

View file

@ -1,29 +0,0 @@
/*******************************************************************************
* Copyright (c) 2000, 2005 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
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi;
/**
*
* Represents a file:function location in the debuggable program.
*
*/
public interface ICDIFunctionLocation extends ICDIFileLocation {
/**
* Returns the function of this location or <code>null</code>
* if the function is unknown.
*
* @return the function of this location
*/
String getFunction();
}

View file

@ -1,28 +0,0 @@
/*******************************************************************************
* Copyright (c) 2000, 2005 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
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi;
/**
*
* Represents a file:line location in the debuggable program.
*
*/
public interface ICDILineLocation extends ICDIFileLocation {
/**
* Returns the line number of this location or <code>0</code>
* if the line number is unknown.
*
* @return the line number of this location
*/
int getLineNumber();
}

View file

@ -1,25 +0,0 @@
/*******************************************************************************
* Copyright (c) 2000, 2005 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
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi;
/**
*
* Represents a location in the debuggable program.
*
*/
public interface ICDILocation {
/**
* Return true if both locations refer to the same place.
*/
boolean equals(ICDILocation location);
}

View file

@ -1,19 +0,0 @@
/*******************************************************************************
* Copyright (c) 2000, 2005 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
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi;
/**
* Locator contains information file:function:line:Address
*/
public interface ICDILocator extends ICDIFileLocation, ICDILineLocation, ICDIFunctionLocation, ICDIAddressLocation {
}

View file

@ -1,75 +0,0 @@
/*******************************************************************************
* Copyright (c) 2000, 2006 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
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi;
import org.eclipse.cdt.debug.core.cdi.model.ICDITarget;
/**
*
* Represents a debug session.
*
* @since Jun 28, 2002
*/
public interface ICDISession {
/**
* Returns all the debug targets associatd with this sesion,
* or an empty collection if no debug targets are associated
* with this session.
*
* @return an array of debug targets
*/
ICDITarget[] getTargets();
/**
* Sets the value of a debug session attribute.
*
* @param key the attribute key
* @param value the attribute value
*/
void setAttribute(String key, String value);
/**
* Returns the value of a debug session attribute.
*
* @param key the attribute key
* @return value the attribute value, or <code>null</code> if undefined
*/
String getAttribute(String key);
/**
* Returns the event manager of this debug session.
*
* @return the event manager
*/
ICDIEventManager getEventManager();
/**
* Returns the configuration description of this debug session.
*
* @return the configuration description
*/
ICDISessionConfiguration getConfiguration();
/**
* Causes this element to terminate, generating a <code>KIND_TERMINATE</code> event.
*
* @exception CDIException on failure. Reasons include:
*/
void terminate() throws CDIException;
/**
* Gaves direct access to the underlying debugger process.
* @return the debugger process.
*/
Process getSessionProcess() throws CDIException;
}

View file

@ -1,27 +0,0 @@
/*******************************************************************************
* Copyright (c) 2000, 2006 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
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi;
/**
* Describes the configuration of debug session.
*
* @since Aug 6, 2002
*/
public interface ICDISessionConfiguration extends ICDISessionObject {
/**
* Returns whether the session should be terminated when the inferior exits.
*
* @return whether the session be terminated when the inferior exits
*/
boolean terminateSessionOnExit();
}

View file

@ -1,27 +0,0 @@
/*******************************************************************************
* Copyright (c) 2000, 2006 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
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi;
/**
*
* Represents an object associated with a debug session.
*
* @since Jul 9, 2002
*/
public interface ICDISessionObject {
/**
* Returns the debug session this object is associated with.
*
* @return the debug session this object is associated with
*/
ICDISession getSession();
}

View file

@ -1,23 +0,0 @@
/*******************************************************************************
* Copyright (c) 2000, 2006 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
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi;
/**
*
* Represents an information provided by the session when the program
* stopped by a shared libary event.
*
* @since Aug 18, 2003
*/
public interface ICDISharedLibraryEvent extends ICDISessionObject {
}

View file

@ -1,31 +0,0 @@
/*******************************************************************************
* Copyright (c) 2000, 2006 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
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi;
/**
* Represents information provided by the session when the program exited.
*
*/
public interface ICDISignalExitInfo extends ICDISessionObject {
/**
* Method getName.
* @return String
*/
String getName();
/**
* Method getDescription.
* @return String
*/
String getDescription();
}

View file

@ -1,29 +0,0 @@
/*******************************************************************************
* Copyright (c) 2000, 2006 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
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi;
import org.eclipse.cdt.debug.core.cdi.model.ICDISignal;
/**
*
* Represents a signal.
*
* @since Jul 10, 2002
*/
public interface ICDISignalReceived extends ICDISessionObject {
/**
* Method getSignal.
* @return ICDISignal
*/
ICDISignal getSignal();
}

View file

@ -1,161 +0,0 @@
/*******************************************************************************
* Copyright (c) 2000, 2006 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
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi;
import java.math.BigInteger;
import org.eclipse.cdt.debug.core.cdi.model.ICDITracepoint;
/**
* Manages the collection of registered tracepoints and trace snapshoits
* in the debug session. Provides methods to control tracing.
*
* @since May 15, 2003
*/
public interface ICDITraceManager extends ICDISessionObject {
/**
* Returns a collection of all tracepoints set for this session.
* Returns an empty array if no tracepoints are set.
*
* @return a collection of all tracepoints set for this session
* @throws CDIException on failure. Reasons include:
*/
ICDITracepoint[] getTracepoints() throws CDIException;
/**
* Deletes the given tracepoint.
*
* @param tracepoint - a tracepoint to be deleted
* @throws CDIException on failure. Reasons include:
*/
void deleteTracepoint( ICDITracepoint tracepoint ) throws CDIException;
/**
* Deletes the given array of tracepoints.
*
* @param tracepoints - the array of tracepoints to be deleted
* @throws CDIException on failure. Reasons include:
*/
void deleteTracepoints( ICDITracepoint[] tracepoints ) throws CDIException;
/**
* Deletes all tracepoints.
*
* @throws CDIException on failure. Reasons include:
*/
void deleteAllTracepoints() throws CDIException;
/**
* Sets a tracepoint at the given location.
* The tracepoint is set acording to the choices:
* <pre>
* if location.getFile() != null then
* if location.getFunction() != null then
* tracepoint = file:function
* else
* tracepoint = file:line
* else if (location.getFuntion() != null) then
* tracepoint = function
* else if (location.getLineNumber() != 0 then
* tracepoint = line
* else
* tracepoint = address
* end
* </pre>
*
* @param location - the location
* @return a tracepoint
* @throws CDIException on failure. Reasons include:
*/
ICDITracepoint setTracepoint( ICDILocation location ) throws CDIException;
/**
* Allows the manager to interrupt the excution of program
* when setting a tracepoint.
*/
void allowProgramInterruption( boolean allow );
/**
* Starts the tracing and begins collecting data.
*
* @throws CDIException on failure. Reasons include:
*/
void startTracing() throws CDIException;
/**
* Stops the tracing and ends collecting data.
*
* @throws CDIException on failure. Reasons include:
*/
void stopTracing() throws CDIException;
/**
* Returns the status of tracing.
*
* @return the status of tracing
* @throws CDIException on failure. Reasons include:
*/
boolean isTracing() throws CDIException;
/**
* Enables/disables the snapshot debugging mode.
*
* @param enabled <code>true</code> to enable, and <code>false</code>
* to disable
* @throws CDIException on failure. Reasons include:
*/
void enableSnapshotMode( boolean enabled ) throws CDIException;
/**
* Returns all trace snapshots for this session.
*
* @return all trace snapshots for this session
* @throws CDIException on failure. Reasons include:
*/
ICDITraceSnapshot[] getSnapshots() throws CDIException;
/**
* Returns all trace snapshots associated with the given tracepoints.
*
* @param tracepoints - an array of tracepoints
* @return all trace snapshots associated with the given tracepoints
* @throws CDIException on failure. Reasons include:
*/
ICDITraceSnapshot[] getSnapshots( ICDITracepoint[] tracepoints ) throws CDIException;
/**
* Returns all trace snapshots associated with the given locations.
*
* @param locations - an array of locations
* @return all trace snapshots associated with the given locations
* @throws CDIException on failure. Reasons include:
*/
ICDITraceSnapshot[] getSnapshots( ICDILocation[] locations ) throws CDIException;
/**
* Creates an ICDILocation object for given file name and line number or function.
*
* @param file - a file name
* @param function - a function name
* @param line - a line number
* @return an ICDILocation object
*/
ICDILocation createLocation( String file, String function, int line );
/**
* Creates an ICDILocation object for given address.
*
* @param address - an address
* @return an ICDILocation object
*/
ICDILocation createLocation( BigInteger address );
}

View file

@ -1,52 +0,0 @@
/*******************************************************************************
* Copyright (c) 2000, 2006 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
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi;
import org.eclipse.cdt.debug.core.cdi.model.ICDIObject;
import org.eclipse.cdt.debug.core.cdi.model.ICDITracepoint;
/**
* Represents a trace snapshot in the debug session.
*
* @since May 15, 2003
*/
public interface ICDITraceSnapshot extends ICDISessionObject {
/**
* Returns the number of this snapshot.
*
* @return the number of this snapshot
*/
int getNumber();
/**
* Selects this snapshot.
*
* @throws CDIException on failure. Reasons include:
*/
void select() throws CDIException;
/**
* Returns the data collected at this snapshot.
*
* @return the data collected at this snapshot
* @throws CDIException on failure. Reasons include:
*/
ICDIObject[] getData() throws CDIException;
/**
* Returns the array of tracepoints associated with this snapshot.
*
* @return array of tracepoints
*/
ICDITracepoint[] getTracepoints();
}

View file

@ -1,29 +0,0 @@
/*******************************************************************************
* Copyright (c) 2000, 2006 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
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi;
import org.eclipse.cdt.debug.core.cdi.model.ICDIWatchpoint;
/**
*
* Represents an information provided by the session when a watchpoint
* is going out of scope.
*
* @since Aug 27, 2002
*/
public interface ICDIWatchpointScope extends ICDISessionObject {
/**
* Returns the out of scope watchpoint.
*
* @return the watchpoint
*/
ICDIWatchpoint getWatchpoint();
}

View file

@ -1,43 +0,0 @@
/*******************************************************************************
* Copyright (c) 2000, 2006 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
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi;
import org.eclipse.cdt.debug.core.cdi.model.ICDIWatchpoint;
/**
*
* Represents an information provided by the session when a watchpoint
* is triggered.
*
* @since Aug 27, 2002
*/
public interface ICDIWatchpointTrigger extends ICDISessionObject {
/**
* Returns the triggered watchpoint.
*
* @return the triggered watchpoint
*/
ICDIWatchpoint getWatchpoint();
/**
* Returns the old value of the watching expression.
*
* @return the old value of the watching expression
*/
String getOldValue();
/**
* Returns the new value of the watching expression.
*
* @return the new value of the watching expression
*/
String getNewValue();
}

View file

@ -1,26 +0,0 @@
/*******************************************************************************
* Copyright (c) 2007 Nokia 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:
* Nokia - Initial API and implementation
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi.event;
import org.eclipse.cdt.debug.core.cdi.ICDILocator;
/**
*
* Notifies that a breakpoint has changed location.
*/
public interface ICDIBreakpointMovedEvent extends ICDIEvent {
/** Returns the new location for the breakpoint.
* @return the breakpoint's new location.
*/
ICDILocator getNewLocation();
}

View file

@ -1,57 +0,0 @@
/*******************************************************************************
* Copyright (c) 2007 Nokia 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:
* Nokia - Initial API and implementation
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi.event;
import org.eclipse.cdt.debug.core.cdi.model.ICDIBreakpoint;
/**
*
* Notifies that a breakpoint problem has occurred.
*/
public interface ICDIBreakpointProblemEvent {
/** The problem type is a string that identifies specific
* kinds of breakproblems.
* @return problem type name
*/
String getProblemType();
/** The CDI breakpoint that has the problem
* @return the cdi breakpoint that has the problem
*/
ICDIBreakpoint getBreakpoint();
/** A description of the problem.
* This will be presented in the problems view.
* @return a description of the problem
*/
String getDescription();
/** The severity code maps to the IMarker.SEVERITY_XXX constants.
* @return severity code.
*/
int getSeverity();
/** Indicated that existing problems of this type and at this
* breakpoint's location will be removed, no new ones will
* be added.
* @return only remove existing problems
*/
boolean removeOnly();
/** Indicated that any existing problems of this type
* and at this breakpoint's location will be removed
* before the new problem is added.
* @return remove any existing markers
*/
boolean removeExisting();
}

View file

@ -1,21 +0,0 @@
/*******************************************************************************
* Copyright (c) 2000, 2006 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
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi.event;
/**
*
* Notifies that the originator has changed.
* Can be originated by any CDI model object.
*
* @since Jul 10, 2002
*/
public interface ICDIChangedEvent extends ICDIEvent {
}

View file

@ -1,26 +0,0 @@
/*******************************************************************************
* Copyright (c) 2000, 2006 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
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi.event;
/**
*
* Notifies that the originator has been created.
* The originators:
* <ul>
* <li>target (ICDITarget)
* <li>thread (ICDIThread)
* </ul>
*
* @since Jul 10, 2002
*/
public interface ICDICreatedEvent extends ICDIEvent {
}

View file

@ -1,25 +0,0 @@
/*******************************************************************************
* Copyright (c) 2000, 2006 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
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi.event;
/**
*
* Notifies that the originator has terminated.
* The originators:
* <ul>
* <li>target (ICDITarget)
* <li>thread (ICDIThread)
* </ul>
*
* @since Jul 10, 2002
*/
public interface ICDIDestroyedEvent extends ICDIEvent {
}

View file

@ -1,25 +0,0 @@
/*******************************************************************************
* Copyright (c) 2000, 2006 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
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi.event;
/**
*
* Notifies that the originator has disconnected.
* The originators:
* <ul>
* <li>target (ICDITarget)
* </ul>
*
* @since Jul 10, 2002
*/
public interface ICDIDisconnectedEvent extends ICDIEvent {
}

View file

@ -1,29 +0,0 @@
/*******************************************************************************
* Copyright (c) 2000, 2006 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
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi.event;
import org.eclipse.cdt.debug.core.cdi.model.ICDIObject;
/**
*
* A base interface for all CDI events.
*
* @since Jul 18, 2002
*/
public interface ICDIEvent {
/**
* The CDI object on which the event initially occurred.
*
* @return the CDI object on which the event initially occurred
*/
ICDIObject getSource();
}

View file

@ -1,28 +0,0 @@
/*******************************************************************************
* Copyright (c) 2000, 2006 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
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi.event;
/**
*
* An event listener registers with the event manager to receive event
* notification from the CDI model objects.
*
* @since Jul 10, 2002
*/
public interface ICDIEventListener {
/**
* Notifies this listener of the given event.
*
* @param event - the event
*/
void handleDebugEvents(ICDIEvent[] event);
}

View file

@ -1,20 +0,0 @@
/*******************************************************************************
* Copyright (c) 2007 Nokia 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:
* Nokia - Initial API and implementation
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi.event;
/**
*
* Notifies that an executable had been reloaded, perhaps after being rebuilt.
*/
public interface ICDIExecutableReloadedEvent extends ICDIEvent {
}

View file

@ -1,33 +0,0 @@
/*******************************************************************************
* Copyright (c) 2000, 2006 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
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi.event;
import org.eclipse.cdt.debug.core.cdi.ICDISessionObject;
/**
*
* Notifies that the program has exited.
* The originators:
* <ul>
* <li>target (ICDITarget)
* </ul>
*
* @since Jul 10, 2002
*/
public interface ICDIExitedEvent extends ICDIDestroyedEvent {
/**
* Returns the information provided by the session when program
* is exited.
*
* @return the exit information
*/
ICDISessionObject getReason();
}

View file

@ -1,25 +0,0 @@
/*******************************************************************************
* Copyright (c) 2000, 2006 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
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi.event;
import java.math.BigInteger;
/**
*
* Notifies that the originator has changed.
*
*/
public interface ICDIMemoryChangedEvent extends ICDIChangedEvent {
/**
* @return the modified addresses.
*/
BigInteger[] getAddresses();
}

View file

@ -1,25 +0,0 @@
/*******************************************************************************
* Copyright (c) 2000, 2006 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
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi.event;
/**
*
* Notifies that the originator has been restarted.
* The originators:
* <ul>
* <li>target (ICDITarget)
* </ul>
*
* @since Jul 11, 2002
*/
public interface ICDIRestartedEvent extends ICDIEvent {
}

View file

@ -1,38 +0,0 @@
/*******************************************************************************
* Copyright (c) 2000, 2006 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
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi.event;
/**
*
* Notifies that the originator has been resumed.
* The originators:
* <ul>
* <li>target (ICDITarget)
* <li>thread (ICDIThread)
* </ul>
*
* @since Jul 10, 2002
*/
public interface ICDIResumedEvent extends ICDIEvent {
final static public int CONTINUE = 0;
final static public int STEP_OVER = 1;
final static public int STEP_INTO = 2;
final static public int STEP_OVER_INSTRUCTION = 3;
final static public int STEP_INTO_INSTRUCTION = 4;
final static public int STEP_RETURN = 5;
/**
* Returns the stepping type.
*
* @return the stepping type
*/
int getType();
}

View file

@ -1,43 +0,0 @@
/*******************************************************************************
* Copyright (c) 2000, 2006 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
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi.event;
import org.eclipse.cdt.debug.core.cdi.ICDISessionObject;
/**
*
* Notifies that the originator has been suspended.
* The originators:
* <ul>
* <li>target (ICDITarget)
* <li>thread (ICDIThread)
* </ul>
* The reason of the suspension can be one of the following session
* objects:
* <ul>
* <li>breakpoint (ICDIBreakpoint)
* <li>signal (ICDISignalReceived)
* <li>end of the stepping range (ICDIEndSteppingRange)
* </ul>
*
* @since Jul 10, 2002
*/
public interface ICDISuspendedEvent extends ICDIEvent {
/**
* Returns the session object that caused the suspension.
*
* @return ICDIObject
*/
ICDISessionObject getReason();
}

View file

@ -1,21 +0,0 @@
/*******************************************************************************
* Copyright (c) 2000, 2005 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
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi.model;
/**
*
* Represents an address breakpoint.
*
*/
public interface ICDIAddressBreakpoint extends ICDILocationBreakpoint {
}

View file

@ -1,24 +0,0 @@
/*******************************************************************************
* Copyright (c) 2007 Nokia 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:
* Nokia - Initial API and implementation
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi.model;
import org.eclipse.cdt.core.IAddressFactory;
/**
*/
public interface ICDIAddressFactoryManagement {
/**
* Returns an AddressFactory.
* @return a IAddressFactory.
*/
IAddressFactory getAddressFactory();
}

View file

@ -1,77 +0,0 @@
/*******************************************************************************
* Copyright (c) 2007 Nokia 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:
* Nokia - Initial API and implementation
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi.model;
import org.eclipse.cdt.core.IAddress;
import org.eclipse.cdt.debug.core.cdi.CDIException;
import org.eclipse.core.runtime.IPath;
/**
* Allows the CDI back-end to translate an address to a source location.
* Usually implemented in the same context as ICDITarget.
* THIS API IS EXPERIMENTAL AND MAY CHANGE IN THE FUTURE.
*/
public interface ICDIAddressToSource {
/**
* Represents a source location returned by
* ICDIAddressToSource.getSourceForAddress.
*
*/
interface IMappedSourceLocation extends Comparable {
/**
* Returns the address of the source location.
* This should be the same address passed to
* ICDIAddressToSource.getSourceForAddress.
* @return address of the source location.
*/
IAddress getAddress();
/**
* Returns the location of the source file.
* @return the location of the source file.
*/
IPath getSourceFile();
/**
* Returns the line number corresponding to the address.
* @return the line number corresponding to the address.
*/
int getLineNumber();
/**
* Returns the name of the function the address is in.
* @return the name of the function the address is in.
*/
String getFunctionName();
/**
* Returns the unmangled name of the function the address is in.
* @return the unmangled name of the function the address is in.
*/
String getUnmangledFunctionName();
/**
* Return the path to the executable the address is in.
* @return the path to the executable the address is in.
*/
IPath getExecutable();
}
/** Returns a symbol that maps to an address at runtime in a targeted process
* @return the symbol (if any) that maps to an address
*/
IMappedSourceLocation getSourceForAddress(IAddress address) throws CDIException;
}

View file

@ -1,21 +0,0 @@
/*******************************************************************************
* Copyright (c) 2000, 2006 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
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi.model;
/**
*
* Represents an argument in the stack frame.
*
* @since Jul 22, 2002
*/
public interface ICDIArgument extends ICDILocalVariable, ICDIArgumentDescriptor {
}

View file

@ -1,17 +0,0 @@
/*******************************************************************************
* Copyright (c) 2000, 2006 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
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi.model;
/**
*/
public interface ICDIArgumentDescriptor extends ICDILocalVariableDescriptor {
}

View file

@ -1,93 +0,0 @@
/*******************************************************************************
* Copyright (c) 2000, 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
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi.model;
import org.eclipse.cdt.debug.core.cdi.CDIException;
import org.eclipse.cdt.debug.core.cdi.ICDICondition;
import org.eclipse.cdt.debug.core.model.ICBreakpointType;
/**
*
* A breakpoint is capable of suspending the execution of a program
* whenever a certain point in the program is reached. Provides a
* basic functionality for the location breakpoints, watchpoints,
* and event breakpoints
*
* @see ICDILineBreakpoint
* @see ICDIFunctionBreakpoint
* @see ICDIAddressBreakpoint
* @see ICDIWatchpoint
* @see ICDIEventBreakpoint
*
* @since Jul 9, 2002
*/
public interface ICDIBreakpoint extends ICDIObject {
/** @deprecated use ICBreakpointTyped.REGULAR */
@Deprecated
final static public int REGULAR = ICBreakpointType.REGULAR;
/** @deprecated use ICBreakpointTyped.TEMPORARY */
@Deprecated
final static public int TEMPORARY = ICBreakpointType.TEMPORARY;
/** @deprecated use ICBreakpointTyped.HARDWARE */
@Deprecated
final static public int HARDWARE = ICBreakpointType.HARDWARE;
/**
* @return whether this breakpoint is temporary
* @deprecated by {@link ICDIBreakpoint2#getType()}
*/
@Deprecated
boolean isTemporary();
/**
* @return whether this breakpoint is hardware-assisted
* @deprecated by {@link ICDIBreakpoint2#getType()}
*/
@Deprecated
boolean isHardware();
/**
* Returns whether this breakpoint is enabled.
*
* @return whether this breakpoint is enabled
* @throws CDIException if this method fails. Reasons include:
*/
boolean isEnabled() throws CDIException;
/**
* Sets the enabled state of this breakpoint. This has no effect
* if the current enabled state is the same as specified by
* the enabled parameter.
*
* @param enabled - whether this breakpoint should be enabled
* @throws CDIException if this method fails. Reasons include:
*/
void setEnabled(boolean enabled) throws CDIException;
/**
* Returns the condition of this breakpoint or <code>null</code>
* if the breakpoint's condition is not set.
*
* @return the condition of this breakpoint
* @throws CDIException if this method fails. Reasons include:
*/
ICDICondition getCondition() throws CDIException;
/**
* Sets the condition of this breakpoint.
*
* @param the condition to set
* @throws CDIException if this method fails. Reasons include:
*/
void setCondition(ICDICondition condition) throws CDIException;
}

View file

@ -1,38 +0,0 @@
/*******************************************************************************
* Copyright (c) 2008 Freescale 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:
* Freescale - Initial API and implementation
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi.model;
import org.eclipse.cdt.debug.core.model.ICBreakpointType;
/**
* Extension of the ICDIBreakpoint interface
*/
public interface ICDIBreakpoint2 extends ICDIBreakpoint {
/**
* Return the type of the breakpoint. If the breakpoint's creation
* originated in CDT, then CDT specified the type as part of that request
* and this method must return that value. If the breakpoint's creation
* originated in the CDI client, then this method is invoked by CDT to
* discover the type of the breakpoint.
*
* If the CDI breakpoint implements this interface, then
* {@link ICDIBreakpoint#isTemporary()} and
* {@link ICDIBreakpoint#isHardware()} will never get called by CDT, as this
* method is meant to replace those.
*
* @return one of the type constants defined in ICBreakpointType (note that
* {@link ICBreakpointType#TEMPORARY} can be bit-applied to any of
* the type values to qualify it as a temporary breakpoint.
*/
int getType();
}

View file

@ -1,111 +0,0 @@
/*******************************************************************************
* Copyright (c) 2000, 2005 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
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi.model;
import org.eclipse.cdt.debug.core.cdi.CDIException;
import org.eclipse.cdt.debug.core.cdi.ICDIAddressLocation;
import org.eclipse.cdt.debug.core.cdi.ICDICondition;
import org.eclipse.cdt.debug.core.cdi.ICDIFunctionLocation;
import org.eclipse.cdt.debug.core.cdi.ICDILineLocation;
/**
* Breapoints action on the Target.
*/
public interface ICDIBreakpointManagement {
/**
* Set a line breakpoint.
*
* @param type
* @param location
* @param condition
* @param deferred
* @return
* @throws CDIException
*/
ICDILineBreakpoint setLineBreakpoint(int type, ICDILineLocation location,
ICDICondition condition, boolean deferred) throws CDIException;
/**
* Set a function breakpoint.
*
* @param type
* @param location
* @param condition
* @param deferred
* @return
* @throws CDIException
*/
ICDIFunctionBreakpoint setFunctionBreakpoint(int type, ICDIFunctionLocation location,
ICDICondition condition, boolean deferred) throws CDIException;
/**
* Set an address Breakpoint
*
* @param type
* @param location
* @param condition
* @param deferred
* @return
* @throws CDIException
*/
ICDIAddressBreakpoint setAddressBreakpoint(int type, ICDIAddressLocation location,
ICDICondition condition, boolean deferred) throws CDIException;
/**
* Set a watchpoint.
*
* @param type
* @param watchType
* @param expression
* @param condition
* @return
* @throws CDIException
*/
ICDIWatchpoint setWatchpoint(int type, int watchType, String expression,
ICDICondition condition) throws CDIException;
/**
* Set an exception point.
*
* @param clazz
* @param stopOnThrow
* @param stopOnCatch
* @return
* @throws CDIException
*/
ICDIExceptionpoint setExceptionBreakpoint(String clazz, boolean stopOnThrow, boolean stopOnCatch) throws CDIException;
/**
* Return all the breakpoints
*
* @return
* @throws CDIException
*/
ICDIBreakpoint[] getBreakpoints() throws CDIException;
/**
* Remove the breakpoints
* @param breakpoints
* @throws CDIException
*/
void deleteBreakpoints(ICDIBreakpoint[] breakpoints) throws CDIException;
/**
* Remove all the breakpoints
*
* @throws CDIException
*/
void deleteAllBreakpoints() throws CDIException;
}

View file

@ -1,109 +0,0 @@
/*******************************************************************************
* Copyright (c) 2007 Nokia 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:
* Nokia - Initial API and implementation
* Freescale Semiconductor - Address watchpoints, https://bugs.eclipse.org/bugs/show_bug.cgi?id=118299
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi.model;
import java.math.BigInteger;
import org.eclipse.cdt.debug.core.cdi.CDIException;
import org.eclipse.cdt.debug.core.cdi.ICDIAddressLocation;
import org.eclipse.cdt.debug.core.cdi.ICDICondition;
import org.eclipse.cdt.debug.core.cdi.ICDIFunctionLocation;
import org.eclipse.cdt.debug.core.cdi.ICDILineLocation;
public interface ICDIBreakpointManagement2 extends ICDIBreakpointManagement {
/**
* Set a line breakpoint.
*
* @param type
* @param location
* @param condition
* @param deferred
* @param enabled
* @return
* @throws CDIException
*/
ICDILineBreakpoint setLineBreakpoint(int type, ICDILineLocation location,
ICDICondition condition, boolean deferred, boolean enabled) throws CDIException;
/**
* Set a function breakpoint.
*
* @param type
* @param location
* @param condition
* @param deferred
* @param enabled
* @return
* @throws CDIException
*/
ICDIFunctionBreakpoint setFunctionBreakpoint(int type, ICDIFunctionLocation location,
ICDICondition condition, boolean deferred, boolean enabled) throws CDIException;
/**
* Set an address Breakpoint
*
* @param type
* @param location
* @param condition
* @param deferred
* @param enabled
* @return
* @throws CDIException
*/
ICDIAddressBreakpoint setAddressBreakpoint(int type, ICDIAddressLocation location,
ICDICondition condition, boolean deferred, boolean enabled) throws CDIException;
/**
* Set a watchpoint.
*
* @param type
* @param watchType
* @param expression
* @param condition
* @param enabled
* @return
* @throws CDIException
*/
ICDIWatchpoint setWatchpoint(int type, int watchType, String expression,
ICDICondition condition, boolean enabled) throws CDIException;
/**
* Set a watchpoint.
*
* @param type
* @param watchType
* @param expression
* @param memorySpace set to "" for default memorySpace
* @param range set to "" for default range
* @param condition
* @return
* @throws CDIException
*/
ICDIWatchpoint setWatchpoint(int type, int watchType, String expression, String memorySpace, BigInteger range,
ICDICondition condition, boolean enabled) throws CDIException;
/**
* Set an exception point.
*
* @param clazz
* @param stopOnThrow
* @param stopOnCatch
* @param enabled
* @return
* @throws CDIException
*/
ICDIExceptionpoint setExceptionBreakpoint(String clazz, boolean stopOnThrow,
boolean stopOnCatch, boolean enabled) throws CDIException;
}

View file

@ -1,27 +0,0 @@
/*******************************************************************************
* Copyright (c) 2008 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
* QNX Software Systems - catchpoints - bug 226689
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi.model;
import org.eclipse.cdt.debug.core.cdi.CDIException;
import org.eclipse.cdt.debug.core.cdi.ICDICondition;
public interface ICDIBreakpointManagement3 extends ICDIBreakpointManagement2{
/**
* Set an event breakpoint
* @param type - event breakpoint type, interpreted by backend
* @param arg - extra argument, for example signal number
* @param cdiBreakpointType - cdi breakpoint type, just in case some inferiors support "hardware" event breakpoints
*/
ICDIEventBreakpoint setEventBreakpoint(String type, String arg, int cdiBreakpointType,
ICDICondition condition, boolean deferred, boolean enabled) throws CDIException;
}

View file

@ -1,36 +0,0 @@
/*******************************************************************************
* Copyright (c) 2008, 2009 Freescale Semiconductor 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:
* Freescale Semiconductor - Initial API and implementation
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi.model;
/**
* Some CDI interfaces have a dispose method, but a number of others don't (and
* should). E.g., ICDIVariable does, but ICDIStackFrame doesn't. This interface
* was created to introduce a dispose capability to CDI objects that call for it
* without breaking existing interfaces.
*
* CDT uses instanceof to check whether a CDI object supports this interface and
* if so calls the dispose method when it has no further need for the object. This
* does not apply to all CDI object; just ones for which it makes sense. The list
* is subject to grow:
* <ul>
* <li>{@link ICDITarget}
* <li>{@link ICDIStackFrame}
* <li>{@link ICDIThread}
* </ul>
* @since 6.0
*/
public interface ICDIDisposable {
/**
* Called when the object is no longer needed by CDT.
*/
public void dispose();
}

View file

@ -1,31 +0,0 @@
/*******************************************************************************
* Copyright (c) 2008 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
* QNX Software Systems - catchpoints - bug 226689
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi.model;
import org.eclipse.core.runtime.CoreException;
public interface ICDIEventBreakpoint extends ICDIBreakpoint {
/**
* Get event breakpoint type. This is usually id in reverse web notation.
* @return event breakpoint type id
* @throws CoreException
*/
String getEventType() throws CoreException;
/**
* Get extra event argument. For example name of the exception or number of a signal.
* @return event argument
* @throws CoreException
*/
String getExtraArgument() throws CoreException;
}

View file

@ -1,22 +0,0 @@
/*******************************************************************************
* Copyright (c) 2002, 2006 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
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi.model;
/**
* ICDIExceptionpoint
*/
public interface ICDIExceptionpoint extends ICDIBreakpoint {
boolean isStopOnThrow();
boolean isStopOnCatch();
}

View file

@ -1,34 +0,0 @@
/*******************************************************************************
* Copyright (c) 2008, 2009 Freescale Secmiconductor 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:
* Freescale Semiconductor - Initial API and implementation
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi.model;
import org.eclipse.cdt.debug.core.cdi.CDIException;
import org.eclipse.cdt.debug.core.cdi.ICDILocation;
/**
* Provides the ability to perform a jump without changing the run state of a thread or debug target.
* @since 6.0
*/
public interface ICDIExecuteMoveInstructionPointer {
/**
* Moves the instruction pointer to the specified location without changing the run state
* The result is undefined if it moves outside of the stackframe.
* Can only be called when the associated target is suspended.
*
* @param location
* @throws CDIException if this method fails. Reasons include:
*/
void moveInstructionPointer(ICDILocation location) throws CDIException;
}

View file

@ -1,53 +0,0 @@
/*******************************************************************************
* Copyright (c) 2000, 2009 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
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi.model;
import org.eclipse.cdt.debug.core.cdi.CDIException;
import org.eclipse.cdt.debug.core.cdi.ICDILocation;
/**
* Provides the ability to resume a thread or debug target.
* @since 6.0
*/
public interface ICDIExecuteResume {
/**
* Causes this target to resume its execution.
* if passSignal is <code>fase</code> and the target was
* suspended by a signal when resuming the signal will be discarded
* Has no effect on a target that is not suspended.
*
* @param passSignal whether to discar the signal
* @throws CDIException if this method fails. Reasons include:
*/
void resume(boolean passSignal) throws CDIException;
/**
* Resume execution at location. Note the method does not change stackframe.
* The result is undefined if it jumps outside of the stacframe.
* Can only be called when the associated target is suspended.
*
* @param location
* @throws CDIException if this method fails. Reasons include:
*/
void resume(ICDILocation location) throws CDIException;
/**
* Resume execution where the program stopped but immediately give the
* signal.
*
* @param signal
* @throws CDIException
*/
void resume(ICDISignal signal) throws CDIException;
}

View file

@ -1,72 +0,0 @@
/*******************************************************************************
* Copyright (c) 2000, 2006 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
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi.model;
import org.eclipse.cdt.debug.core.cdi.CDIException;
import org.eclipse.cdt.debug.core.cdi.ICDILocation;
/**
* Provides the ability to step into, over, and until
* from the current execution location. Implementations
* must be non-blocking.
*/
public interface ICDIExecuteStep {
/**
* Steps over the current source line.
* if count <= 0 it is a noop.
* Can only be called when the associated target/thread is suspended.
*
* @param count as in `step', but do so count times.
* @throws CDIException if this method fails. Reasons include:
*/
void stepOver(int count) throws CDIException;
/**
* Steps over the current machine instruction. Can only be called
* when the associated target/thread is suspended.
* if count <= 0 it is a noop.
*
* @param count as in `stepOverInstruction', but do so count times.
* @throws CDIException if this method fails. Reasons include:
*/
void stepOverInstruction(int count) throws CDIException;
/**
* Steps into the current source line. Can only be called
* when the associated target/thread is suspended.
* if count <= 0 it is a noop.
*
* @param count as in `step', but do so count times.
* @throws CDIException if this method fails. Reasons include:
*/
void stepInto(int count) throws CDIException;
/**
* Steps into the current machine instruction. Can only be called
* when the associated target/thread is suspended.
* if count <= 0 it is a noop.
*
* @throws CDIException if this method fails. Reasons include:
*/
void stepIntoInstruction(int count) throws CDIException;
/**
* Continues running until location is reached.
* If the program will be suspended if attempt to exit the current frame.
* Can only be called when the associated target is suspended.
*
* @throws CDIException if this method fails. Reasons include:
*/
void stepUntil(ICDILocation location) throws CDIException;
}

View file

@ -1,39 +0,0 @@
/*******************************************************************************
* Copyright (c) 2000, 2006 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
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi.model;
import org.eclipse.cdt.debug.core.cdi.CDIException;
/**
* Provides the ability to step return from the frame.
* Implementations must be non-blocking.
*/
public interface ICDIExecuteStepReturn {
/**
* Continue execution until the frame return.
*
* @throws CDIException if this method fails. Reasons include:
*/
void stepReturn() throws CDIException;
/**
* Cancel execution of the frame and return with value.
* value can be <code>null</code>, if no return value is needed.
* Can only be called when the associated target/thread is suspended.
*
* @param value use as the returning value.
* @throws CDIException if this method fails. Reasons include:
*/
void stepReturn(ICDIValue value) throws CDIException;
}

View file

@ -1,58 +0,0 @@
/*******************************************************************************
* Copyright (c) 2000, 2006 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
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi.model;
import org.eclipse.cdt.debug.core.cdi.CDIException;
/**
* An expression is a snippet of code that can be evaluated to
* produce a value.
*
* @since Jul 9, 2002
*/
public interface ICDIExpression extends ICDIObject {
/**
* Returns the expression snippet of code.
*
* @return the expression
*/
String getExpressionText();
/**
* Returns true if the variable Object are the same,
* For example event if the name is the same because of
* casting this may return false;
* @return true if the same
*/
boolean equals(ICDIExpression expr);
/**
* Returns the value of this expression.
*
* @param ICDIStackFrame frame context
* @return the value of this expression
* @throws CDIException if this method fails. Reasons include:
*/
ICDIValue getValue(ICDIStackFrame context) throws CDIException;
/**
* Remove the expression from the manager list.
*
* @param var
* @return ICDIArgument
* @throws CDIException
*/
void dispose() throws CDIException;
}

View file

@ -1,48 +0,0 @@
/*******************************************************************************
* Copyright (c) 2002, 2006 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
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi.model;
import org.eclipse.cdt.debug.core.cdi.CDIException;
/**
* ICDIExpressionManagement
*/
public interface ICDIExpressionManagement {
/**
* Create an expression for code snippet
* @param code
* @return ICDIExpression
* @throws CDIException
*/
ICDIExpression createExpression(String code) throws CDIException;
/**
* Return all expressions for this target
* @return
* @throws CDIException
*/
ICDIExpression[] getExpressions() throws CDIException;
/**
* Remove expressions for this target
*
* @param expressions
*/
void destroyExpressions(ICDIExpression[] expressions) throws CDIException;
/**
* Remove all expressions on this target
*
*/
void destroyAllExpressions() throws CDIException;
}

View file

@ -1,21 +0,0 @@
/*******************************************************************************
* Copyright (c) 2000, 2005 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
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi.model;
/**
*
* Represents a function breakpoint.
*
*/
public interface ICDIFunctionBreakpoint extends ICDILocationBreakpoint {
}

View file

@ -1,19 +0,0 @@
/*******************************************************************************
* Copyright (c) 2002, 2006 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
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi.model;
/**
* ICDIGlobalVariable
*/
public interface ICDIGlobalVariable extends ICDIVariable, ICDIGlobalVariableDescriptor {
}

View file

@ -1,19 +0,0 @@
/*******************************************************************************
* Copyright (c) 2002, 2006 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
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi.model;
/**
* ICDIGlobalVariableDescriptor
*/
public interface ICDIGlobalVariableDescriptor extends ICDIVariableDescriptor {
}

View file

@ -1,57 +0,0 @@
/*******************************************************************************
* Copyright (c) 2000, 2006 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
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi.model;
import java.math.BigInteger;
/**
*
* Represents a machine instruction.
*
* @since Jul 10, 2002
*/
public interface ICDIInstruction extends ICDIObject {
/**
* Returns the Address.
* @return the address.
*/
BigInteger getAdress();
/**
* @return the function name.
*/
String getFuntionName();
/**
* @return the instruction.
*/
String getInstruction();
/**
* @return the opcode
*/
String getOpcode();
/**
* @return any arguments to the opcode
*/
String getArgs();
/**
* @return the offset of this machine instruction
* Returns the instruction's offset.
*
* @return the offset of this machine instruction
*/
long getOffset();
}

View file

@ -1,20 +0,0 @@
/*******************************************************************************
* Copyright (c) 2000, 2005 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
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi.model;
/**
*
* Represents a line breakpoint.
*
*/
public interface ICDILineBreakpoint extends ICDILocationBreakpoint {
}

View file

@ -1,19 +0,0 @@
/*******************************************************************************
* Copyright (c) 2002, 2006 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
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi.model;
/**
* ICDILocalVariable
*/
public interface ICDILocalVariable extends ICDIVariable, ICDILocalVariableDescriptor {
}

View file

@ -1,28 +0,0 @@
/*******************************************************************************
* Copyright (c) 2002, 2006 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
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi.model;
import org.eclipse.cdt.debug.core.cdi.CDIException;
/**
* ICDILocalVariableDescriptor
*/
public interface ICDILocalVariableDescriptor extends ICDIVariableDescriptor {
/**
* Return the stackframe.
*
* @return ICDIStackFrame
* @throws CDIException
*/
ICDIStackFrame getStackFrame() throws CDIException;
}

View file

@ -1,28 +0,0 @@
/*******************************************************************************
* Copyright (c) 2000, 2005 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
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi.model;
import org.eclipse.cdt.debug.core.cdi.ICDILocator;
/**
*
* Abstract class returning location of breakpoint: file, line, function, address.
*
*/
public interface ICDILocationBreakpoint extends ICDIBreakpoint {
/**
* Returns the location of the breakpoint.
* @return ICDILocator
*/
ICDILocator getLocator();
}

View file

@ -1,125 +0,0 @@
/*******************************************************************************
* Copyright (c) 2000, 2007 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
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi.model;
import java.math.BigInteger;
import org.eclipse.cdt.debug.core.cdi.CDIException;
/**
*
* A contiguous segment of memory in an execution context. A memory
* block is represented by a starting memory address and a length.
*
* @since Jul 18, 2002
*/
public interface ICDIMemoryBlock extends ICDIObject {
/**
* Bit mask used to indicate a byte is read-only.
*/
public static final byte READ_ONLY = 0x01;
/**
* Bit mask used to indicate a byte is valid.
*/
public static final byte VALID = 0x02;
/**
* Returns the start address of this memory block.
*
* @return the start address of this memory block
*/
BigInteger getStartAddress();
/**
* Returns the length of this memory block in bytes.
*
* @return the length of this memory block in bytes
*/
long getLength();
/**
* This method is a misnomer. It should be getAddressableSize. This is how
* CDT finds out from the CDI client the addressable size of the
* memory--i.e., how many bytes per address. Some embedded systems have
* memory with addressable sizes >1. Such backends should make sure to
* ignore the now deprecated wordSize parameter of
* ICDIMemoryBlockManagement.createMemory block() and not regurgitate that
* value in the implementation of this method.
*
* @return The addressable size of the memory
*/
int getWordSize();
/**
* Returns the values of the bytes currently contained
* in this this memory block.
* Note: the number maybe greater or lower to what
* was requested.
* @return the values of the bytes currently contained
* in this this memory block
* @exception CDIException if this method fails. Reasons include:
* <ul><li>Failure communicating with the debug target. The CDIException's
* status code contains the underlying exception responsible for
* the failure.</li>
* </ul>
*/
byte[] getBytes() throws CDIException;
/**
* Returns this memory byte's attribute as a bit mask.
* The method throw IndexOutOfBoundsException if the offset
* is out of range of the block.
*
* @return this memory byte's attribute as a bit mask
*/
public byte getFlags(int offset);
/**
* Sets the value of the bytes in this memory block at the specified
* offset within this memory block to the spcified bytes.
* The offset is zero based.
*
* @param offset the offset at which to set the new values
* @param bytes the new values
* @exception CDIException if this method fails. Reasons include:
* <ul><li>Failure communicating with the debug target. The CDIException's
* status code contains the underlying exception responsible for
* the failure.</li>
* <li>This memory block does not support value modification</li>
* <li>The specified offset is greater than or equal to the length
* of this memory block, or the number of bytes specified goes
* beyond the end of this memory block (index of out of range)</li>
* </ul>
*/
void setValue(long offset, byte[] bytes) throws CDIException;
/**
* @return true if the block does not update.
*/
boolean isFrozen();
/**
* A memoryBlock set frozen means that the block will
* not update and check for new data.
* @param frozen the block is frozen by default.
*/
void setFrozen(boolean frozen);
/**
* Refresh the data, this may cause events to be trigger
* if the data values changed.
*/
void refresh() throws CDIException;
}

View file

@ -1,64 +0,0 @@
/*******************************************************************************
* Copyright (c) 2002, 2007 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
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi.model;
import org.eclipse.cdt.debug.core.cdi.CDIException;
/**
* The memory manager manages the collection of memory blocks
* specified for the debug session.
*
* ICDIMemoryBlockManagement
*
*/
public interface ICDIMemoryBlockManagement {
/**
* Returns a memory block specified by given identifier.
* @param address
* @param units - number of bytes
* @param wordSize - this parameter has been deprecated in 4.0
* and will always be passed as the value 1. If the memory
* has an addressable size (number of bytes per address)
* greather than 1, the CDI client should take care not to
* return the value of wordSize we pass in here, but rather
* return the actual addressable size for that memory.
* @return a memory block with the specified identifier
* @throws CDIException on failure. Reasons include:
*/
ICDIMemoryBlock createMemoryBlock(String address, int units, int wordSize)
throws CDIException;
/**
* Removes the given array of memory blocks from the debug session.
*
* @param memoryBlock - the array of memory blocks to be removed
* @exception CDIException on failure. Reasons include:
*/
void removeBlocks(ICDIMemoryBlock[] memoryBlocks) throws CDIException;
/**
* Removes all memory blocks from the debug session.
*
* @exception CDIException on failure. Reasons include:
*/
void removeAllBlocks() throws CDIException;
/**
* Returns an array of all memory blocks set for this debug session.
*
* @return an array of all memory blocks set for this debug session
* @throws CDIException on failure. Reasons include:
*/
ICDIMemoryBlock[] getMemoryBlocks() throws CDIException;
}

View file

@ -1,37 +0,0 @@
/*******************************************************************************
* Copyright (c) 2005, 2007 Freescale, Inc.
* 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:
* Freescale, Inc. - initial API and implementation
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi.model;
import java.math.BigInteger;
import org.eclipse.cdt.debug.core.cdi.CDIException;
/**
* Extension of ICDIMemoryBlockManagement
*
* @since May 26, 2006
*/
public interface ICDIMemoryBlockManagement2 extends ICDIMemoryBlockManagement {
/**
* Returns a memory block specified by given parameters. Differs
* from {@link ICDIMemoryBlockManagement#createMemoryBlock(String, int, int)}
* in that this support memory spaces.
* @param address
* @param memorySpaceID - value is meaningful only to the backend
* @param size - number of bytes
* @return a memory block with the specified identifier
* @throws CDIException on failure. Reasons include:
*/
ICDIMemoryBlock createMemoryBlock(BigInteger address, String memorySpaceID, int size)
throws CDIException;
}

View file

@ -1,55 +0,0 @@
/*******************************************************************************
* Copyright (c) 2010 Freescale Semiconductor, Inc.
* 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:
* Freescale Semiconductor, Inc. - initial API and implementation
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi.model;
import org.eclipse.cdt.debug.core.cdi.CDIException;
/**
* Add-on interface for objects that implement ICDIMemorySpaceManagement.
* Provides the string encoding and decoding of a memory space qualified
* address. CDT provides a default encoding of [memory-space-id]:[expression].
* If this is adequate, the CDI client need not implement this interface. This
* method is called when having to represent a memory-space qualified address as
* a single string.
*
* @since 7.0
*/
public interface ICDIMemorySpaceEncoder extends ICDIObject {
/**
* Encode an expression + memory space ID to a string.
*
* @param expression
* the expression representing a location within a memory space.
* This can be a simple numeric expression like "0x10000" or
* something more complex "$EAX+(gCustomerCount*100)".
* @param memorySpaceID
* a string which represents the memory space
* @return the encoded string representation of the address; never null
*/
String encodeAddress(String expression, String memorySpaceID);
/**
* The inverse of {@link #encodeAddress(String, String)}.
*
* @param str
* the encoded string
* @return the result of decoding the string into its components; never null
* @throws CDIException
* if string is not in the expected format
*/
DecodeResult decodeAddress(String str) throws CDIException;
interface DecodeResult {
String getMemorySpaceId();
String getExpression();
}
}

View file

@ -1,68 +0,0 @@
/*******************************************************************************
* Copyright (c) 2005, 2012 Freescale, Inc.
* 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:
* Freescale, Inc. - initial API and implementation
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi.model;
import java.math.BigInteger;
import org.eclipse.cdt.debug.core.cdi.CDIException;
/**
* The memory space manager provides varous memory-space related operations.
* The backend implementation of ICDITarget should implement this interface
* as well if the target supports memory spaces.
*/
public interface ICDIMemorySpaceManagement extends ICDIObject {
/**
* Optionally provides the string encoding of a memory space qualified
* address. CDT provides a default encoding of
* <memory-space-id>:<address(hex)>. If this is adequate, the client can
* return null from this function.
*
* @param address
* a numeric address
* @param memorySpaceID
* a string which represents the memory space
* @return the encoded string representation of the address or null
* @deprecated CDI clients should implement ICDIMemorySpaceEncoder
*/
@Deprecated
String addressToString(BigInteger address, String memorySpaceID);
/**
* The inverse of addressToString. Optionally decodes a memoryspace/address
* string to its components. Client must provide decoding if it provides
* encoding in addressToString. Conversely, it should return null if
* addressToString returns null.
*
* @param str
* the encoded string (contains memory space + hex address
* value)
* @param memorySpaceID_out
* the memory space ID
* @return the BigInteger part of str; client should return null if the
* default decoding provided by CDT is sufficient
* (<memory-space-id>:<address(hex)>)
* @throws CDIException
* if string is not in the expected format
* @deprecated CDI clients should implement ICDIMemorySpaceEncoder
*/
@Deprecated
BigInteger stringToAddress(String str, StringBuffer memorySpaceID_out) throws CDIException;
/**
* Provides the memory spaces available.
*
* @return an array of memory space identifiers
*/
String [] getMemorySpaces();
}

View file

@ -1,34 +0,0 @@
/*******************************************************************************
* Copyright (c) 2000, 2006 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
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi.model;
/**
*
* Represents a machine instruction.
*
* @since Jul 10, 2002
*/
public interface ICDIMixedInstruction extends ICDIObject {
/**
* @return the line Number.
*/
int getLineNumber();
/**
* @return the file name
*/
String getFileName();
/**
* @return the array of instruction.
*/
ICDIInstruction[] getInstructions();
}

View file

@ -1,27 +0,0 @@
/*******************************************************************************
* Copyright (c) 2000, 2006 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
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi.model;
/**
*
* Represents an object in the CDI model.
*
* @since Jul 8, 2002
*/
public interface ICDIObject {
/**
* Returns the target this object is contained in.
*
* @return the target this object is contained in
*/
ICDITarget getTarget();
}

View file

@ -1,69 +0,0 @@
/*******************************************************************************
* Copyright (c) 2000, 2006 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
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi.model;
import org.eclipse.cdt.debug.core.cdi.CDIException;
/**
*
* A register is a special kind of variable that is contained
* in a register group. Each register has a name and a value.
*
* @since Jul 9, 2002
*/
public interface ICDIRegister extends ICDIRegisterDescriptor {
/**
* Returns true if the value of this variable could be changed.
*
* @return true if the value of this variable could be changed
* @throws CDIException if this method fails. Reasons include:
*/
boolean isEditable() throws CDIException;
/**
* Returns the value of this variable.
*
* @param context
* @return the value of this variable
* @throws CDIException if this method fails. Reasons include:
*/
ICDIValue getValue(ICDIStackFrame context) throws CDIException;
/**
* Attempts to set the value of this variable to the value of
* the given expression.
*
* @param expression - an expression to generate a new value
* @throws CDIException if this method fails. Reasons include:
*/
void setValue(String expression) throws CDIException;
/**
* Sets the value of this variable to the given value.
*
* @param value - a new value
* @throws CDIException if this method fails. Reasons include:
*/
void setValue(ICDIValue value) throws CDIException;
/**
* Remove the variable from the manager list.
*
* @param var
* @return ICDIArgument
* @throws CDIException
*/
void dispose() throws CDIException;
boolean equals(ICDIRegister reg);
}

View file

@ -1,21 +0,0 @@
/*******************************************************************************
* Copyright (c) 2000, 2006 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
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi.model;
/**
*
* Represents a break condition.
*
* @since Jul 9, 2002
*/
public interface ICDIRegisterDescriptor extends ICDIVariableDescriptor {
}

View file

@ -1,47 +0,0 @@
/*******************************************************************************
* Copyright (c) 2000, 2006 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
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi.model;
import org.eclipse.cdt.debug.core.cdi.CDIException;
/**
*
* Represents a group of registers that are assigned to a target.
*
* @since Jul 9, 2002
*/
public interface ICDIRegisterGroup extends ICDIObject {
/**
* The name of the group.
*
* @return String name
*/
String getName();
/**
* Returns the register descriptors in this register group.
*
* @return ICDIRegisterDescriptor[] in this register group
* @throws CDIException if this method fails. Reasons include:
*/
ICDIRegisterDescriptor[] getRegisterDescriptors() throws CDIException;
/**
* Returns whether this register group currently contains any registers.
*
* @return whether this register group currently contains any registers
* @exception CDIException if this method fails. Reasons include:
*/
public boolean hasRegisters() throws CDIException;
}

View file

@ -1,45 +0,0 @@
/*******************************************************************************
* Copyright (c) 2000, 2006 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
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi.model;
import java.util.Properties;
import org.eclipse.cdt.debug.core.cdi.CDIException;
/**
* Describes the configuration of debug session.
*
* @since Aug 6, 2002
*/
public interface ICDIRuntimeOptions extends ICDIObject {
/**
* Program/Inferior arguments.
*
* @param args the string representing the arguments.
*/
void setArguments(String[] args) throws CDIException;
/**
* Program/Inferior environment settings.
*
* @param props the new environment variable to add.
*/
void setEnvironment(Properties props) throws CDIException;
/**
* Program/Inferior working directory.
*
* @param wd the working directory to start the program.
*/
void setWorkingDirectory(String wd) throws CDIException;
}

View file

@ -1,59 +0,0 @@
/*******************************************************************************
* Copyright (c) 2000, 2006 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
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi.model;
import java.math.BigInteger;
import org.eclipse.cdt.debug.core.cdi.CDIException;
/**
*
* Represents a shared library which has been loaded into
* the debug target.
*
* @since Jul 8, 2002
*/
public interface ICDISharedLibrary extends ICDIObject {
/**
* Returns the name of shared library file.
*
* @return the name of shared library file
*/
String getFileName();
/**
* Returns the start address of this library.
*
* @return the start address of this library
*/
BigInteger getStartAddress();
/**
* Returns the end address of this library.
*
* @return the end address of this library
*/
BigInteger getEndAddress();
/**
* Returns whether the symbols of this library are read.
*
* @return whether the symbols of this library are read
*/
boolean areSymbolsLoaded();
/**
* Loads the library symbols.
*
* @throws CDIException if this method fails. Reasons include:
*/
void loadSymbols() throws CDIException;
}

View file

@ -1,29 +0,0 @@
/*******************************************************************************
* Copyright (c) 2000, 2006 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
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi.model;
import org.eclipse.cdt.debug.core.cdi.CDIException;
/**
* Manages the sharedLibraries in the target.
*/
public interface ICDISharedLibraryManagement {
/**
* Returns the array of shared libraries for this target.
*
* @return ICDISharedLibrary[] array
* @throws CDIException on failure.
*/
ICDISharedLibrary[] getSharedLibraries() throws CDIException;
}

View file

@ -1,69 +0,0 @@
/*******************************************************************************
* Copyright (c) 2000, 2006 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
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi.model;
import org.eclipse.cdt.debug.core.cdi.CDIException;
/**
*
* Represents a signal.
*
* @since Jul 10, 2002
*/
public interface ICDISignal extends ICDIObject {
/**
* Returns the name of this signal.
*
* @return the name of this signal
*/
String getName();
/**
* Returns the meaning of this signal.
*
* @return the meaning of this signal
*/
String getDescription();
/**
* if false means program will see the signal.
* Otherwise program does not know.
*
* @return boolean
*/
boolean isIgnore();
/**
* Means reenter debugger if this signal happens
*
* Method isStopSet.
* @return boolean
*/
boolean isStopSet();
/**
* Continue program giving it this signal.
*
* @throws CDIException if this method fails. Reasons include:
*/
void signal() throws CDIException ;
/**
* Change the way debugger handles this signal.
*
* @param ignore - if true the debugger should not allow your program to see this signal
* @param stop - if true the debugger should stop your program when this signal happens
* @throws CDIException if this method fails. Reasons include:
*/
void handle(boolean ignore, boolean stop) throws CDIException;
}

View file

@ -1,28 +0,0 @@
/*******************************************************************************
* Copyright (c) 2000, 2006 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
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi.model;
import org.eclipse.cdt.debug.core.cdi.CDIException;
/**
*/
public interface ICDISignalManagement {
/**
* Returns the array of signals defined for this target.
*
* @return the array of signals
* @throws CDIException on failure. Reasons include:
*/
ICDISignal[] getSignals() throws CDIException;
}

View file

@ -1,93 +0,0 @@
/*******************************************************************************
* Copyright (c) 2000, 2005 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
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi.model;
import java.math.BigInteger;
import org.eclipse.cdt.debug.core.cdi.CDIException;
/**
*
* Maintains the list of directories to search for source files.
* Auto update is off by default.
*
*/
public interface ICDISourceManagement {
/**
* Set the source search paths for the debug session.
* @param String array of search paths
*/
void setSourcePaths(String[] srcPaths) throws CDIException;
/**
* Return the array of source paths
* @return String array of search paths.
*/
String[] getSourcePaths() throws CDIException;
/**
* @param startAddress is the begining address
* @param endAddress is the end address
* @throws CDIException on failure.
*/
ICDIInstruction[] getInstructions(BigInteger startAddress, BigInteger endAddress)
throws CDIException;
/**
* @param filename is the name of the file to disassemble
* @param linenum is the line number to disassemble around
* @throws CDIException on failure
*/
ICDIInstruction[] getInstructions(String filename, int linenum)
throws CDIException;
/**
* @param filename is the name of the file to disassemble
* @param linenum is the line number to disassemble around
* @param lines is the number of disassembly to produced
* @throws CDIException on failure
*/
ICDIInstruction[] getInstructions(String filename, int linenum, int lines)
throws CDIException;
/**
* @param startAddress is the begining address
* @param endAddress is the end address
* @throws CDIException on failure.
*/
ICDIMixedInstruction[] getMixedInstructions(
BigInteger startAddress,
BigInteger endAddress)
throws CDIException;
/**
* @param filename is the name of the file to disassemble
* @param linenum is the line number to disassemble around
* @param lines is the number of disassembly to produced
* @throws CDIException on failure
*/
ICDIMixedInstruction[] getMixedInstructions(String filename, int linenum)
throws CDIException;
/**
* @param filename is the name of the file to disassemble
* @param linenum is the line number to disassemble around
* @param lines is the number of disassembly to produced
* @throws CDIException on failure
*/
ICDIMixedInstruction[] getMixedInstructions(
String filename,
int linenum,
int lines)
throws CDIException;
}

View file

@ -1,93 +0,0 @@
/*******************************************************************************
* Copyright (c) 2000, 2005 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
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi.model;
import org.eclipse.cdt.debug.core.cdi.CDIException;
import org.eclipse.cdt.debug.core.cdi.ICDILocator;
/**
*
* A stack frame in a suspended thread.
* A stack frame contains variables representing visible locals and
* arguments at the current execution location.
*
* @since Jul 8, 2002
*/
public interface ICDIStackFrame extends ICDIExecuteStepReturn, ICDIObject {
/**
* Returns the location of the instruction pointer in this
* stack frame.
*
* @return the location of the instruction pointer
*/
ICDILocator getLocator();
/**
* Returns the visible variables in this stack frame. An empty
* collection is returned if there are no visible variables.
*
* @return a collection of visible variables
* @throws CDIException if this method fails. Reasons include:
*/
ICDILocalVariableDescriptor[] getLocalVariableDescriptors() throws CDIException;
/**
* Create a variable from the descriptor for evaluation. A CreatedEvent will be trigger and
* ChangedEvent will also be trigger when the variable is assign a new value.
* DestroyedEvent is fired when the variable is out of scope and automatically
* removed from the manager list.
* @param varDesc ICDThreadStorageDesc
* @return
* @throws CDIException
*/
ICDIArgument createArgument(ICDIArgumentDescriptor varDesc) throws CDIException;
/**
* Create a variable from the descriptor for evaluation. A CreatedEvent will be trigger and
* ChangedEvent will also be trigger when the variable is assign a new value.
* DestroyedEvent is fired when the variable is out of scope and automatically
* removed from the manager list.
* @param varDesc ICDThreadStorageDesc
* @return
* @throws CDIException
*/
ICDILocalVariable createLocalVariable(ICDILocalVariableDescriptor varDesc) throws CDIException;
/**
* Returns the arguments in this stack frame. An empty collection
* is returned if there are no arguments.
*
* @return a collection of arguments
* @throws CDIException if this method fails. Reasons include:
*/
ICDIArgumentDescriptor[] getArgumentDescriptors() throws CDIException;
/**
* Returns the thread this stackframe is contained in.
*
* @return the thread
*/
ICDIThread getThread();
/**
* Returns the level of the stack frame, 1 based.
*
* @return the level of the stack frame
*/
int getLevel();
/**
* Return true if the frames are the same.
*/
boolean equals(ICDIStackFrame stackframe);
}

View file

@ -1,35 +0,0 @@
/*******************************************************************************
* Copyright (c) 2000, 2006 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
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi.model;
import org.eclipse.cdt.debug.core.cdi.CDIException;
/**
* Provides the ability to suspend a thread or debug target.
*/
public interface ICDISuspend {
/**
* Causes this target/thread to suspend its execution.
* Has no effect on an already suspended thread.
*
* @throws CDIException if this method fails. Reasons include:
*/
void suspend() throws CDIException;
/**
* Returns whether this target/thread is currently suspended.
*
* @return whether this target/thread is currently suspended
*/
boolean isSuspended();
}

Some files were not shown because too many files have changed in this diff Show more