|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectfrysk.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 Taskpublic ISA getISA()
getISA in class Taskpublic Isa getIsaFIXME()
public void sendStop()
public void sendAttach()
public void requestUnblock(TaskObserver observerArg)
requestUnblock in class Taskpublic 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 Taskpublic void requestAddClonedObserver(TaskObserver.Cloned o)
requestAddClonedObserver in class Taskpublic void requestDeleteClonedObserver(TaskObserver.Cloned o)
requestDeleteClonedObserver in class Taskpublic void requestAddAttachedObserver(TaskAttachedObserverXXX o)
requestAddAttachedObserver in class Taskpublic void requestDeleteAttachedObserver(TaskAttachedObserverXXX o)
requestDeleteAttachedObserver in class Taskpublic void requestAddForkedObserver(TaskObserver.Forked o)
requestAddForkedObserver in class Taskpublic void requestDeleteForkedObserver(TaskObserver.Forked o)
requestDeleteForkedObserver in class Taskpublic void requestAddTerminatedObserver(TaskObserver.Terminated o)
requestAddTerminatedObserver in class Taskpublic void requestDeleteTerminatedObserver(TaskObserver.Terminated o)
requestDeleteTerminatedObserver in class Taskpublic void requestAddTerminatingObserver(TaskObserver.Terminating o)
requestAddTerminatingObserver in class Taskpublic void requestDeleteTerminatingObserver(TaskObserver.Terminating o)
requestDeleteTerminatingObserver in class Taskpublic void requestAddExecedObserver(TaskObserver.Execed o)
requestAddExecedObserver in class Taskpublic void requestDeleteExecedObserver(TaskObserver.Execed o)
requestDeleteExecedObserver in class Taskpublic void requestAddSyscallsObserver(TaskObserver.Syscalls o)
requestAddSyscallsObserver in class Taskpublic void requestDeleteSyscallsObserver(TaskObserver.Syscalls o)
requestDeleteSyscallsObserver in class Taskpublic void requestAddSignaledObserver(TaskObserver.Signaled o)
requestAddSignaledObserver in class Taskpublic 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 Taskpublic 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 Taskpublic void requestDeleteInstructionObserver(TaskObserver.Instruction o)
requestDeleteInstructionObserver in class Taskpublic boolean isInstructionObserverAdded(TaskObserver.Instruction o)
Task
isInstructionObserverAdded in class Taskpublic void incrementMod()
public int getMod()
Task
getMod in class Taskpublic long getPC()
Task
getPC in class Taskpublic 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 | |||||||||