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
Modifier and Type
Class
Description
`protected class`
`NetworkDebugger.Command`
A debugger command.

## Constructor Summary

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

## Method Summary

Modifier and Type
Method
Description
`void`
`enter(StackFrame frame)`
Enters the stack frame.
`void`
`error(StackFrame stackFrame, String msg, 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.
`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 Details

### 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 Details

### 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, String msg, 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 String toString()

Overrides:
  `toString` in class `Object`