diff --git a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/ui/viewmodel/launch/AbstractThreadVMNode.java b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/ui/viewmodel/launch/AbstractThreadVMNode.java index a6f53060c75..1fbdaed82c9 100644 --- a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/ui/viewmodel/launch/AbstractThreadVMNode.java +++ b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/ui/viewmodel/launch/AbstractThreadVMNode.java @@ -221,7 +221,10 @@ public abstract class AbstractThreadVMNode extends AbstractDMVMNode } protected void fillExecutionDataProperties(IPropertiesUpdate update, IExecutionDMData data) { - update.setProperty(ILaunchVMConstants.PROP_STATE_CHANGE_REASON, data.getStateChangeReason().name()); + StateChangeReason reason = data.getStateChangeReason(); + if (reason != null) { + update.setProperty(ILaunchVMConstants.PROP_STATE_CHANGE_REASON, data.getStateChangeReason().name()); + } } @Override diff --git a/dsf/org.eclipse.cdt.dsf/src/org/eclipse/cdt/dsf/debug/service/IRunControl.java b/dsf/org.eclipse.cdt.dsf/src/org/eclipse/cdt/dsf/debug/service/IRunControl.java index 15fc8a2355e..64c5881ad20 100644 --- a/dsf/org.eclipse.cdt.dsf/src/org/eclipse/cdt/dsf/debug/service/IRunControl.java +++ b/dsf/org.eclipse.cdt.dsf/src/org/eclipse/cdt/dsf/debug/service/IRunControl.java @@ -98,6 +98,12 @@ public interface IRunControl extends IDsfService * Display information for an execution context. */ public interface IExecutionDMData extends IDMData { + + /** + * Reason for the last change in execution state. Could be + * null if the service does not support tracking this + * information. + */ StateChangeReason getStateChangeReason(); }