Interface IStep

  • All Known Subinterfaces:
    IFilteredStep, IStackFrame, IThread

    public interface IStep
    Provides the ability to step into, over, and return from the current execution location. Implementations must be non-blocking.

    Implementations should honor step filter settings in their associated debug target, as defined by IStepFilters.

    Clients may implement this interface.

    See Also:
    IStepFilters
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      boolean canStepInto()
      Returns whether this element can currently perform a step into.
      boolean canStepOver()
      Returns whether this element can currently perform a step over.
      boolean canStepReturn()
      Returns whether this element can currently perform a step return.
      boolean isStepping()
      Returns whether this element is currently stepping.
      void stepInto()
      Steps into the current statement, generating RESUME and SUSPEND events for the associated thread.
      void stepOver()
      Steps over the current statement, generating RESUME and SUSPEND events for the associated thread.
      void stepReturn()
      Steps to the next return statement in the current scope, generating RESUME and SUSPEND events for the associated thread.
    • Method Detail

      • canStepInto

        boolean canStepInto()
        Returns whether this element can currently perform a step into.
        Returns:
        whether this element can currently perform a step into
      • canStepOver

        boolean canStepOver()
        Returns whether this element can currently perform a step over.
        Returns:
        whether this element can currently perform a step over
      • canStepReturn

        boolean canStepReturn()
        Returns whether this element can currently perform a step return.
        Returns:
        whether this element can currently perform a step return
      • isStepping

        boolean isStepping()
        Returns whether this element is currently stepping.

        For example, a thread is considered to be stepping after the stepOver call until the step over is completed, a breakpoint is reached, an exception is thrown, or the thread or debug target is terminated.

        Returns:
        whether this element is currently stepping
      • stepInto

        void stepInto()
               throws DebugException
        Steps into the current statement, generating RESUME and SUSPEND events for the associated thread. Can only be called when the associated thread is suspended. Implementations must implement stepping as non-blocking.
        Throws:
        DebugException - on failure. Reasons include:
        • TARGET_REQUEST_FAILED - The request failed in the target
        • NOT_SUPPORTED - The capability is not supported by the target
      • stepOver

        void stepOver()
               throws DebugException
        Steps over the current statement, generating RESUME and SUSPEND events for the associated thread. Can only be called when the associated thread is suspended. Implementations must implement stepping as non-blocking.
        Throws:
        DebugException - on failure. Reasons include:
        • TARGET_REQUEST_FAILED - The request failed in the target
        • NOT_SUPPORTED - The capability is not supported by the target
      • stepReturn

        void stepReturn()
                 throws DebugException
        Steps to the next return statement in the current scope, generating RESUME and SUSPEND events for the associated thread. Can only be called when the associated thread is suspended. Implementations must implement stepping as non-blocking.
        Throws:
        DebugException - on failure. Reasons include:
        • TARGET_REQUEST_FAILED - The request failed in the target
        • NOT_SUPPORTED - The capability is not supported by the target