41 * current values. 42 * <p> 43 * The lifetime of a StackFrame is very limited. It is available only 44 * for suspended threads and becomes invalid once its thread is resumed. 45 * <p> 46 * Any method on <code>StackFrame</code> which 47 * takes <code>StackFrame</code> as an parameter may throw 48 * {@link com.sun.jdi.VMDisconnectedException} if the target VM is 49 * disconnected and the {@link com.sun.jdi.event.VMDisconnectEvent} has been or is 50 * available to be read from the {@link com.sun.jdi.event.EventQueue}. 51 * <p> 52 * Any method on <code>StackFrame</code> which 53 * takes <code>StackFrame</code> as an parameter may throw 54 * {@link com.sun.jdi.VMOutOfMemoryException} if the target VM has run out of memory. 55 * 56 * @author Robert Field 57 * @author Gordon Hirsch 58 * @author James McIlree 59 * @since 1.3 60 */ 61 public interface StackFrame extends Mirror, Locatable 62 { 63 /** 64 * Returns the {@link Location} of the current instruction in the frame. 65 * The method for which this frame was created can also be accessed 66 * through the returned location. 67 * For the top frame in the stack, this location identifies the 68 * next instruction to be executed. For all other frames, this 69 * location identifies the instruction that caused the next frame's 70 * method to be invoked. 71 * If the frame represents a native method invocation, the returned 72 * location indicates the class and method, but the code index will 73 * not be valid (-1). 74 * 75 * @return the {@link Location} of the current instruction. 76 * @throws InvalidStackFrameException if this stack frame has become 77 * invalid. Once the frame's thread is resumed, the stack frame is 78 * no longer valid. 79 */ 80 Location location(); 81 82 /** | 41 * current values. 42 * <p> 43 * The lifetime of a StackFrame is very limited. It is available only 44 * for suspended threads and becomes invalid once its thread is resumed. 45 * <p> 46 * Any method on <code>StackFrame</code> which 47 * takes <code>StackFrame</code> as an parameter may throw 48 * {@link com.sun.jdi.VMDisconnectedException} if the target VM is 49 * disconnected and the {@link com.sun.jdi.event.VMDisconnectEvent} has been or is 50 * available to be read from the {@link com.sun.jdi.event.EventQueue}. 51 * <p> 52 * Any method on <code>StackFrame</code> which 53 * takes <code>StackFrame</code> as an parameter may throw 54 * {@link com.sun.jdi.VMOutOfMemoryException} if the target VM has run out of memory. 55 * 56 * @author Robert Field 57 * @author Gordon Hirsch 58 * @author James McIlree 59 * @since 1.3 60 */ 61 @jdk.Supported 62 public interface StackFrame extends Mirror, Locatable { 63 64 /** 65 * Returns the {@link Location} of the current instruction in the frame. 66 * The method for which this frame was created can also be accessed 67 * through the returned location. 68 * For the top frame in the stack, this location identifies the 69 * next instruction to be executed. For all other frames, this 70 * location identifies the instruction that caused the next frame's 71 * method to be invoked. 72 * If the frame represents a native method invocation, the returned 73 * location indicates the class and method, but the code index will 74 * not be valid (-1). 75 * 76 * @return the {@link Location} of the current instruction. 77 * @throws InvalidStackFrameException if this stack frame has become 78 * invalid. Once the frame's thread is resumed, the stack frame is 79 * no longer valid. 80 */ 81 Location location(); 82 83 /** |