|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object frysk.proc.Task frysk.proc.live.LinuxPtraceTask
public class LinuxPtraceTask
A Linux Task tracked using PTRACE.
Nested Class Summary |
---|
Nested classes/interfaces inherited from class frysk.proc.Task |
---|
Task.TaskEventObservable |
Field Summary | |
---|---|
Breakpoint |
steppingBreakpoint
Whether we are currently stepping over a breakpoint. |
boolean |
syscallSigretXXX
When the last request to the process was a step request, whether it was a request to step a sigreturn syscall. |
Constructor Summary | |
---|---|
LinuxPtraceTask(LinuxPtraceTask forkingTask,
LinuxPtraceProc proc,
TaskAttachedObserverXXX attached)
Create a new attached main Task of Proc. |
|
LinuxPtraceTask(LinuxPtraceTask cloningTask,
ProcessIdentifier clone)
Create a new attached clone of Task. |
|
LinuxPtraceTask(Proc proc,
ProcessIdentifier pid)
Create a new unattached Task. |
Method Summary | |
---|---|
Set |
bogusUseOfInternalBlockersVariableFIXME()
XXX: Code using this needs a re-think. |
ISA |
getISA()
Return the Task's ISA. |
Isa |
getIsaFIXME()
Return the Task's ISA. |
ByteBuffer |
getMemory()
Return the Task's memory. |
int |
getMod()
Use a counter rather than a boolean because multiple caches may depend on this count and no cache should be able to clear it. |
long |
getPC()
Return the address of the instruction that this task will execute next. |
void |
incrementMod()
|
boolean |
isInstructionObserverAdded(TaskObserver.Instruction o)
Returns true if the observer has been added to task's instruction observer list. |
void |
requestAddAttachedObserver(TaskAttachedObserverXXX o)
Add a TaskAttachedObserverXXX observer. |
void |
requestAddClonedObserver(TaskObserver.Cloned o)
Add a TaskObserver.Cloned observer. |
void |
requestAddCodeObserver(TaskObserver.Code o,
long a)
Add TaskObserver.Code to the TaskObserver pool. |
void |
requestAddExecedObserver(TaskObserver.Execed o)
Add TaskObserver.Execed to the TaskObserver pool. |
void |
requestAddForkedObserver(TaskObserver.Forked o)
Add a TaskObserver.Forked observer. |
void |
requestAddInstructionObserver(TaskObserver.Instruction o)
Request the addition of a Instruction observer that will be notified as soon as the task executes an instruction. |
void |
requestAddSignaledObserver(TaskObserver.Signaled o)
Add TaskObserver.Signaled to the TaskObserver pool. |
void |
requestAddSyscallsObserver(TaskObserver.Syscalls o)
Add TaskObserver.Syscalls to the TaskObserver pool. |
void |
requestAddTerminatedObserver(TaskObserver.Terminated o)
Add a TaskObserver.Terminated observer. |
void |
requestAddTerminatingObserver(TaskObserver.Terminating o)
Add TaskObserver.Terminating to the TaskObserver pool. |
void |
requestAddWatchObserver(TaskObserver.Watch o,
long address,
int length,
boolean writeOnly)
Add a TaskObserver.Watch observer (hardware data breakpoint only) |
void |
requestDeleteAttachedObserver(TaskAttachedObserverXXX o)
Delete a TaskAttachedObserverXXX observer. |
void |
requestDeleteClonedObserver(TaskObserver.Cloned o)
Delete a TaskObserver.Cloned observer. |
void |
requestDeleteCodeObserver(TaskObserver.Code o,
long a)
Delete TaskObserver.Code for the TaskObserver pool. |
void |
requestDeleteExecedObserver(TaskObserver.Execed o)
Delete TaskObserver.Execed. |
void |
requestDeleteForkedObserver(TaskObserver.Forked o)
Delete a TaskObserver.Forked observer. |
void |
requestDeleteInstructionObserver(TaskObserver.Instruction o)
Delete TaskObserver.Instruction from the TaskObserver pool. |
void |
requestDeleteSignaledObserver(TaskObserver.Signaled o)
Delete TaskObserver.Signaled. |
void |
requestDeleteSyscallsObserver(TaskObserver.Syscalls o)
Delete TaskObserver.Syscall. |
void |
requestDeleteTerminatedObserver(TaskObserver.Terminated o)
Delete a TaskObserver.Terminated observer. |
void |
requestDeleteTerminatingObserver(TaskObserver.Terminating o)
Delete TaskObserver.Terminating. |
void |
requestDeleteWatchObserver(TaskObserver.Watch o,
long address,
int length,
boolean writeOnly)
Delete a TaskObserver.Watch observer (hardware data breakpoint only) |
void |
requestUnblock(TaskObserver observerArg)
Request that the observer be removed from this tasks set of blockers; once there are no blocking observers, this task resumes. |
void |
sendAttach()
|
void |
sendStop()
|
void |
setPC(long addr)
Set the address of the instruction that this task will execute next. |
Methods inherited from class frysk.proc.Task |
---|
access, compareTo, getName, getProc, getRegister, getRegisterBuffersFIXME, getSignalTable, getSyscallTable, getTid, setRegister, toString |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public boolean syscallSigretXXX
public Breakpoint steppingBreakpoint
Constructor Detail |
---|
public LinuxPtraceTask(Proc proc, ProcessIdentifier pid)
public LinuxPtraceTask(LinuxPtraceTask cloningTask, ProcessIdentifier clone)
public LinuxPtraceTask(LinuxPtraceTask forkingTask, LinuxPtraceProc proc, TaskAttachedObserverXXX attached)
Method Detail |
---|
public ByteBuffer getMemory()
getMemory
in class Task
public ISA getISA()
getISA
in class Task
public Isa getIsaFIXME()
public void sendStop()
public void sendAttach()
public void requestUnblock(TaskObserver observerArg)
requestUnblock
in class Task
public Set bogusUseOfInternalBlockersVariableFIXME()
Task
bogusUseOfInternalBlockersVariableFIXME
in class Task
public void requestAddWatchObserver(TaskObserver.Watch o, long address, int length, boolean writeOnly)
requestAddWatchObserver
in class Task
public void requestDeleteWatchObserver(TaskObserver.Watch o, long address, int length, boolean writeOnly)
requestDeleteWatchObserver
in class Task
public void requestAddClonedObserver(TaskObserver.Cloned o)
requestAddClonedObserver
in class Task
public void requestDeleteClonedObserver(TaskObserver.Cloned o)
requestDeleteClonedObserver
in class Task
public void requestAddAttachedObserver(TaskAttachedObserverXXX o)
requestAddAttachedObserver
in class Task
public void requestDeleteAttachedObserver(TaskAttachedObserverXXX o)
requestDeleteAttachedObserver
in class Task
public void requestAddForkedObserver(TaskObserver.Forked o)
requestAddForkedObserver
in class Task
public void requestDeleteForkedObserver(TaskObserver.Forked o)
requestDeleteForkedObserver
in class Task
public void requestAddTerminatedObserver(TaskObserver.Terminated o)
requestAddTerminatedObserver
in class Task
public void requestDeleteTerminatedObserver(TaskObserver.Terminated o)
requestDeleteTerminatedObserver
in class Task
public void requestAddTerminatingObserver(TaskObserver.Terminating o)
requestAddTerminatingObserver
in class Task
public void requestDeleteTerminatingObserver(TaskObserver.Terminating o)
requestDeleteTerminatingObserver
in class Task
public void requestAddExecedObserver(TaskObserver.Execed o)
requestAddExecedObserver
in class Task
public void requestDeleteExecedObserver(TaskObserver.Execed o)
requestDeleteExecedObserver
in class Task
public void requestAddSyscallsObserver(TaskObserver.Syscalls o)
requestAddSyscallsObserver
in class Task
public void requestDeleteSyscallsObserver(TaskObserver.Syscalls o)
requestDeleteSyscallsObserver
in class Task
public void requestAddSignaledObserver(TaskObserver.Signaled o)
requestAddSignaledObserver
in class Task
public void requestDeleteSignaledObserver(TaskObserver.Signaled o)
requestDeleteSignaledObserver
in class Task
public void requestAddCodeObserver(TaskObserver.Code o, long a)
requestAddCodeObserver
in class Task
public void requestDeleteCodeObserver(TaskObserver.Code o, long a)
requestDeleteCodeObserver
in class Task
public void requestAddInstructionObserver(TaskObserver.Instruction o)
o.updateExecuted
is called as soon as the Task
starts running again (is not blocked or stopped) and executes
the next instruction.
requestAddInstructionObserver
in class Task
public void requestDeleteInstructionObserver(TaskObserver.Instruction o)
requestDeleteInstructionObserver
in class Task
public boolean isInstructionObserverAdded(TaskObserver.Instruction o)
Task
isInstructionObserverAdded
in class Task
public void incrementMod()
public int getMod()
Task
getMod
in class Task
public long getPC()
Task
getPC
in class Task
public void setPC(long addr)
Task
setPC
in class Task
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |