diff --git a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/CDebugElement.java b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/CDebugElement.java index a2d7edf552c..2459da6dbfd 100644 --- a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/CDebugElement.java +++ b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/CDebugElement.java @@ -207,7 +207,8 @@ abstract public class CDebugElement extends PlatformObject implements ICDebugEle * @return the CDI session */ public ICDISession getCDISession() { - return getCDITarget().getSession(); + final ICDITarget cdiTarget = getCDITarget(); + return cdiTarget != null ? cdiTarget.getSession() : null; } /** diff --git a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/CMemoryBlockExtension.java b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/CMemoryBlockExtension.java index 0f380b31d8f..c4b57acce2f 100644 --- a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/CMemoryBlockExtension.java +++ b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/CMemoryBlockExtension.java @@ -15,6 +15,7 @@ import java.util.Arrays; import java.util.HashSet; import org.eclipse.cdt.debug.core.CDebugCorePlugin; import org.eclipse.cdt.debug.core.cdi.CDIException; +import org.eclipse.cdt.debug.core.cdi.ICDISession; import org.eclipse.cdt.debug.core.cdi.event.ICDIEvent; import org.eclipse.cdt.debug.core.cdi.event.ICDIEventListener; import org.eclipse.cdt.debug.core.cdi.event.ICDIMemoryChangedEvent; @@ -472,7 +473,10 @@ public class CMemoryBlockExtension extends CDebugElement implements IMemoryBlock } fCDIBlock = null; } - getCDISession().getEventManager().removeEventListener( this ); + final ICDISession cdiSession = getCDISession(); + if (cdiSession != null) { + cdiSession.getEventManager().removeEventListener( this ); + } } /* (non-Javadoc)