use of org.erlide.backend.debug.IErlangDebugNode in project erlide_eclipse by erlang.
the class ErlangDebugTarget method createErlangProcess.
private ErlangProcess createErlangProcess(final OtpErlangPid pid) {
final String theNodeName = pid.node();
final IDebugTarget[] targets = getLaunch().getDebugTargets();
for (final IDebugTarget debugTarget : targets) {
try {
if (debugTarget.getName().equals(theNodeName)) {
if (debugTarget instanceof IErlangDebugNode) {
final IErlangDebugNode edn = (IErlangDebugNode) debugTarget;
final ErlangProcess p = new ErlangProcess(debugTarget, getBackend(), pid);
edn.addErlangProcess(p);
allProcesses.add(p);
return p;
}
}
} catch (final DebugException e) {
ErlLogger.error(e);
}
}
final ErlangProcess p = new ErlangProcess(this, getBackend(), pid);
addErlangProcess(p);
allProcesses.add(p);
return p;
}
use of org.erlide.backend.debug.IErlangDebugNode in project erlide_eclipse by erlang.
the class InterpretedModulesView method contextActivated.
private void contextActivated(final ISelection selection) {
if (!isAvailable() || !isVisible()) {
return;
}
erlangDebugTarget = null;
if (selection instanceof IStructuredSelection) {
final IStructuredSelection structuredSelection = (IStructuredSelection) selection;
final Object o = structuredSelection.getFirstElement();
if (o instanceof ErlangDebugElement) {
final ErlangDebugElement e = (ErlangDebugElement) o;
erlangDebugTarget = e.getErlangDebugTarget();
} else if (o instanceof ILaunch) {
final ILaunch launch = (ILaunch) o;
final IDebugTarget target = launch.getDebugTarget();
if (target instanceof IErlangDebugNode) {
final IErlangDebugNode edn = (IErlangDebugNode) target;
erlangDebugTarget = edn.getErlangDebugTarget();
}
} else if (o instanceof RuntimeProcess) {
final RuntimeProcess ep = (RuntimeProcess) o;
final ILaunch launch = ep.getLaunch();
final IDebugTarget target = launch.getDebugTarget();
if (target instanceof IErlangDebugNode) {
final IErlangDebugNode edn = (IErlangDebugNode) target;
erlangDebugTarget = edn.getErlangDebugTarget();
}
}
if (erlangDebugTarget == null) {
ErlLogger.debug("no debug target found for " + selection);
return;
}
final ILaunchConfiguration launchConfiguration = erlangDebugTarget.getLaunch().getLaunchConfiguration();
setViewerInput(launchConfiguration);
try {
final EnumSet<ErlDebugFlags> debugFlags = ErlDebugFlags.makeSet(launchConfiguration.getAttribute(ErlRuntimeAttributes.DEBUG_FLAGS, ErlDebugFlags.getFlag(ErlDebugFlags.DEFAULT_DEBUG_FLAGS)));
distributed = debugFlags.contains(ErlDebugFlags.DISTRIBUTED_DEBUG);
} catch (final CoreException e1) {
distributed = false;
}
}
listViewer.refresh();
showViewer();
// updateAction(VARIABLES_FIND_ELEMENT_ACTION);
// updateAction(FIND_ACTION);
}
Aggregations