diff --git a/plugins/org.eclipse.dd.gdb.ui/src/org/eclipse/dd/gdb/internal/ui/viewmodel/launch/ContainerVMNode.java b/plugins/org.eclipse.dd.gdb.ui/src/org/eclipse/dd/gdb/internal/ui/viewmodel/launch/ContainerVMNode.java index 26862376a32..4c627ca87d6 100644 --- a/plugins/org.eclipse.dd.gdb.ui/src/org/eclipse/dd/gdb/internal/ui/viewmodel/launch/ContainerVMNode.java +++ b/plugins/org.eclipse.dd.gdb.ui/src/org/eclipse/dd/gdb/internal/ui/viewmodel/launch/ContainerVMNode.java @@ -73,7 +73,7 @@ public class ContainerVMNode extends AbstractContainerVMNode handleFailedUpdate(update); return; } - fillUpdateWithVMCs(update, getData()); + if (getData() != null) fillUpdateWithVMCs(update, getData()); update.done(); } }); diff --git a/plugins/org.eclipse.dd.gdb/src/org/eclipse/dd/gdb/internal/provisional/service/GDBProcesses.java b/plugins/org.eclipse.dd.gdb/src/org/eclipse/dd/gdb/internal/provisional/service/GDBProcesses.java index 7af2ceb7529..afdf4079101 100644 --- a/plugins/org.eclipse.dd.gdb/src/org/eclipse/dd/gdb/internal/provisional/service/GDBProcesses.java +++ b/plugins/org.eclipse.dd.gdb/src/org/eclipse/dd/gdb/internal/provisional/service/GDBProcesses.java @@ -29,6 +29,7 @@ import org.eclipse.dd.gdb.internal.GdbPlugin; import org.eclipse.dd.gdb.internal.provisional.service.command.GDBControl; import org.eclipse.dd.gdb.internal.provisional.service.command.GDBControl.SessionType; import org.eclipse.dd.mi.service.MIProcesses; +import org.eclipse.dd.mi.service.command.MIInferiorProcess; import org.eclipse.dd.mi.service.command.commands.CLIMonitorListProcesses; import org.eclipse.dd.mi.service.command.output.CLIMonitorListProcessesInfo; import org.osgi.framework.BundleContext; @@ -113,6 +114,16 @@ public class GDBProcesses extends MIProcesses { } } + @Override + public void getProcessesBeingDebugged(IDMContext dmc, DataRequestMonitor rm) { + MIInferiorProcess inferiorProcess = fGdb.getInferiorProcess(); + if (inferiorProcess != null && inferiorProcess.getState() != MIInferiorProcess.State.TERMINATED) { + super.getProcessesBeingDebugged(dmc, rm); + } else { + rm.done(); + } + } + @Override public void getRunningProcesses(IDMContext dmc, final DataRequestMonitor rm) { if (fGdb.getSessionType() == SessionType.LOCAL) {