frysk.bindir
Class fstep

java.lang.Object
  extended by frysk.bindir.fstep
All Implemented Interfaces:
Observer, ProcTasksObserver, TaskAttachedObserverXXX, TaskObserver, TaskObserver.Cloned, TaskObserver.Code, TaskObserver.Execed, TaskObserver.Forked, TaskObserver.Instruction, TaskObserver.Terminated, ProcRunUtil.ProcRunObserver

public class fstep
extends Object
implements ProcRunUtil.ProcRunObserver, TaskObserver.Code, TaskObserver.Instruction, TaskObserver.Terminated


Nested Class Summary
 
Nested classes/interfaces inherited from interface frysk.proc.TaskObserver
TaskObserver.Cloned, TaskObserver.Code, TaskObserver.Execed, TaskObserver.Forked, TaskObserver.Instruction, TaskObserver.Signaled, TaskObserver.Syscalls, TaskObserver.Terminated, TaskObserver.Terminating, TaskObserver.Watch
 
Constructor Summary
fstep()
           
 
Method Summary
 void addedTo(Object observable)
          Acknowledge the request to add this Observer from Object's set of observers was successful.
 void addFailed(Object observable, Throwable w)
          Notify that the attempt to add to the specified observer failed.
 void deletedFrom(Object observable)
          Acknowledge the request to delete this Observer from Object's set of observers was successful (or that the Observer was spontaneously deleted, e.g., due to a task exit).
 void existingTask(Task task)
          Called to deliver a list of existing tasks to the client.
static void main(String[] args)
           
 void taskAdded(Task task)
          Called when the observed process clones a new task.
 void taskRemoved(Task task)
          Called when one of the tasks of a process exits.
 Action updateAttached(Task task)
          The Task is attached.
 Action updateClonedOffspring(Task parent, Task offspring)
          Called when the Task (the offspring) that was created by a fork has stopped at its first instruction.
 Action updateClonedParent(Task task, Task clone)
          Called when the Task (the parent) has cloned, creating a clone Task (the offspring).
 Action updateExeced(Task task)
          Called AFTER the Task has execed.
 Action updateExecuted(Task task)
          The task has started executing or has executed another instruction.
 Action updateForkedOffspring(Task parent, Task offspring)
          Called when the Task (the offspring) that was created by a fork has stopped at its first instruction.
 Action updateForkedParent(Task parent, Task offspring)
          Called when the Task (the parent) has forked, creating a child Proc containing a single Task (the offspring).
 Action updateHit(Task task, long address)
          The task has hit the breakpoint.
 Action updateTerminated(Task task, Signal signal, int exit)
          Called once the Task has terminated; the process no longer exists.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

fstep

public fstep()
Method Detail

main

public static void main(String[] args)

updateAttached

public Action updateAttached(Task task)
Description copied from interface: TaskAttachedObserverXXX
The Task is attached.

Specified by:
updateAttached in interface TaskAttachedObserverXXX

updateHit

public Action updateHit(Task task,
                        long address)
Description copied from interface: TaskObserver.Code
The task has hit the breakpoint. Return Action.BLOCK to block the task's further execution. Note that all Tasks of a Proc share their breakpoints, so this method needs to check the actual Task that got hit.

Specified by:
updateHit in interface TaskObserver.Code

updateTerminated

public Action updateTerminated(Task task,
                               Signal signal,
                               int exit)
Description copied from interface: TaskObserver.Terminated
Called once the Task has terminated; the process no longer exists. If SIGNAL is non-NULL it is the signal causing the termination, else STATUS is the exit value passed to _exit(2).

Specified by:
updateTerminated in interface TaskObserver.Terminated

updateExecuted

public Action updateExecuted(Task task)
Description copied from interface: TaskObserver.Instruction
The task has started executing or has executed another instruction. Return Action.BLOCK to block the task's further execution. When Action.CONTINUE is returned this method will be called as soon as one instruction has been executed.

Specified by:
updateExecuted in interface TaskObserver.Instruction

addedTo

public void addedTo(Object observable)
Description copied from interface: Observer
Acknowledge the request to add this Observer from Object's set of observers was successful.

Specified by:
addedTo in interface Observer

addFailed

public void addFailed(Object observable,
                      Throwable w)
Description copied from interface: Observer
Notify that the attempt to add to the specified observer failed.

Specified by:
addFailed in interface Observer

deletedFrom

public void deletedFrom(Object observable)
Description copied from interface: Observer
Acknowledge the request to delete this Observer from Object's set of observers was successful (or that the Observer was spontaneously deleted, e.g., due to a task exit).

Specified by:
deletedFrom in interface Observer

updateForkedOffspring

public Action updateForkedOffspring(Task parent,
                                    Task offspring)
Description copied from interface: TaskObserver.Forked
Called when the Task (the offspring) that was created by a fork has stopped at its first instruction.

Specified by:
updateForkedOffspring in interface TaskObserver.Forked

updateExeced

public Action updateExeced(Task task)
Description copied from interface: TaskObserver.Execed
Called AFTER the Task has execed. Return Action.BLOCK if the observer wants the task to block.

Specified by:
updateExeced in interface TaskObserver.Execed

updateClonedOffspring

public Action updateClonedOffspring(Task parent,
                                    Task offspring)
Description copied from interface: TaskObserver.Cloned
Called when the Task (the offspring) that was created by a fork has stopped at its first instruction.

Specified by:
updateClonedOffspring in interface TaskObserver.Cloned

taskAdded

public void taskAdded(Task task)
Description copied from interface: ProcTasksObserver
Called when the observed process clones a new task.

Specified by:
taskAdded in interface ProcTasksObserver

existingTask

public void existingTask(Task task)
Description copied from interface: ProcTasksObserver
Called to deliver a list of existing tasks to the client.

Specified by:
existingTask in interface ProcTasksObserver

taskRemoved

public void taskRemoved(Task task)
Description copied from interface: ProcTasksObserver
Called when one of the tasks of a process exits.

Specified by:
taskRemoved in interface ProcTasksObserver

updateForkedParent

public Action updateForkedParent(Task parent,
                                 Task offspring)
Description copied from interface: TaskObserver.Forked
Called when the Task (the parent) has forked, creating a child Proc containing a single Task (the offspring). Return Action.BLOCK if the observer wants the parent task to block.

Specified by:
updateForkedParent in interface TaskObserver.Forked

updateClonedParent

public Action updateClonedParent(Task task,
                                 Task clone)
Description copied from interface: TaskObserver.Cloned
Called when the Task (the parent) has cloned, creating a clone Task (the offspring). Return Action.BLOCK if this observer wants the parent Task to block.

Specified by:
updateClonedParent in interface TaskObserver.Cloned