Package org.eclipse.m2m.atl.emftvm.launcher.debug

## Class NetworkDebugger

- java.lang.Object
- - org.eclipse.m2m.atl.emftvm.launcher.LaunchAdapter
  - - org.eclipse.m2m.atl.emftvm.launcher.debug.NetworkDebugger

All Implemented Interfaces:
  `VMMonitor`

    public class NetworkDebugger
    extends LaunchAdapter

Implements all debugging facilities specified by `VMMonitor` using ATL's `ADWP` protocol. Adapted from org.eclipse.m2m.atl.engine.emfvm.launch.debug.NetworkDebugger.

### Nested Class Summary

Nested Classes
`protected class` `NetworkDebugger.Command` A debugger command.

### Constructor Summary

Constructors
`NetworkDebugger​(org.eclipse.debug.core.ILaunch launch, int port, boolean suspend)` Creates a new `NetworkDebugger`.

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `enter​(StackFrame frame)` Enters the stack frame.
`void` `error​(StackFrame stackFrame, java.lang.String msg, java.lang.Exception e)` Throws an error.
`ExecEnv` `getExecEnv()` Returns the `ExecEnv`, if available.
`StackFrame` `getLastFrame()` Returns the last stack frame, if available.
`void` `leave​(StackFrame frame)` Leaves the stack frame.
`void` `step​(StackFrame frame)` Steps into the stack frame.
`void` `terminated()` Invoked when execution is terminated.
`java.lang.String` `toString()`

### Methods inherited from class org.eclipse.m2m.atl.emftvm.launcher.LaunchAdapter

`getLaunch, isTerminated, setTerminated`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Constructor Detail

#### NetworkDebugger

    public NetworkDebugger​(org.eclipse.debug.core.ILaunch launch,
                           int port,
                           boolean suspend)

Creates a new `NetworkDebugger`.

Parameters:
  `launch` - the launch object to wrap
  `port` - the network port to listen to
  `suspend` - whether to start suspended

### Method Detail

#### enter

    public void enter​(StackFrame frame)

Enters the stack frame.

Specified by:
  `enter` in interface `VMMonitor`
Overrides:
  `enter` in class `LaunchAdapter`
Parameters:
  `frame` - the frame to enter in
See Also:
  `LaunchAdapter.enter(org.eclipse.m2m.atl.emftvm.util.StackFrame)`

#### leave

    public void leave​(StackFrame frame)

Leaves the stack frame.

Specified by:
  `leave` in interface `VMMonitor`
Overrides:
  `leave` in class `LaunchAdapter`
Parameters:
  `frame` - the frame to leave
See Also:
  `LaunchAdapter.leave(org.eclipse.m2m.atl.emftvm.util.StackFrame)`

#### step

    public void step​(StackFrame frame)

Steps into the stack frame.

Specified by:
  `step` in interface `VMMonitor`
Overrides:
  `step` in class `LaunchAdapter`
Parameters:
  `frame` - the frame to step
See Also:
  `LaunchAdapter.step(org.eclipse.m2m.atl.emftvm.util.StackFrame)`

#### terminated

    public void terminated()

Invoked when execution is terminated.

Specified by:
  `terminated` in interface `VMMonitor`
Overrides:
  `terminated` in class `LaunchAdapter`
See Also:
  `LaunchAdapter.terminated()`

#### error

    public void error​(StackFrame stackFrame,
                      java.lang.String msg,
                      java.lang.Exception e)

Throws an error.

Specified by:
  `error` in interface `VMMonitor`
Overrides:
  `error` in class `LaunchAdapter`
Parameters:
  `stackFrame` - the current frame
  `msg` - the error message
  `e` - the exception
See Also:
  `LaunchAdapter.error(StackFrame, String, Exception)`

#### getLastFrame

    public StackFrame getLastFrame()

Returns the last stack frame, if available.

Returns:
  the lastFrame, or `null`

#### getExecEnv

    public ExecEnv getExecEnv()

Returns the `ExecEnv`, if available.

Returns:
  the `ExecEnv`, or `null`

#### toString

    public java.lang.String toString()

Overrides:
  `toString` in class `java.lang.Object`