r.a.Point(object) : class documentation

Part of reven.api View In Hierarchy

A point in a trace.

Execution points allow accessing the various machine states reached during an execution. Each Point provides an access to the machine's Cpu context and Memory. Generally speaking a point corresponds to the execution of a cpu instruction, but a point may also be generated on interruptions triggered by external devices.

Internally reven manages execution points throught a pair of indexes:

This object abstracts away this implementation detail throught the Point interface. This allows the user to transparently use iterators on a trace without bothering with dynamic basic block (aka sequence) consideration.

Method __init__
Method memory_accesses
Method trace The trace this point belong to.
Method memory The memory at this point in the trace.
Method cpu The cpu at this point in the trace.
Method sequence_index The sequence index in the trace (number of basic block executed).
Method instruction_index The instruction index in the point basic block.
Method previous The previously executed trace point. @return: The previous point or None if this is the first point in the trace.
Method next The next executed trace point. @return: The next point or None if this is the last point in the trace.
Method comment 0 The comment at this point. This is similar to an static instruction's comment, but is only displayed at this point.
Method comment Undocumented
Method instruction The point instruction.
Method basic_block The point basic block.
Method symbol The point symbol.
Method previous_sequence Go to the previous sequence @return: a point at the begin of the previous sequence or None if this is the first.
Method next_sequence Go to the next sequence @return: a point at the begin of the next sequence or None if this is the last.
Method __lt__ Undocumented
Method __eq__ Undocumented
Method __ne__ Undocumented
Method __gt__ Undocumented
Method __ge__ Undocumented
Method __le__ Undocumented
Method __repr__ Undocumented
Method _rvn Undocumented
Method _sequence_cache Undocumented
Method _rvn_point Undocumented
Method _init_sequence Undocumented
def __init__(self, trace, index, instruction_index):
ParameterstraceThe point trace.
indexThe sequence index.
instruction_indexThe instruction index.
@property
def _rvn(self):
Undocumented
@property
def _sequence_cache(self):
Undocumented
@property
def _rvn_point(self):
Undocumented
def _init_sequence(self):
Undocumented
def memory_accesses(self):
ReturnsThe list of memory accesses performed by the instruction.
@property
def trace(self):

The trace this point belong to.

def memory(self):

The memory at this point in the trace.

def cpu(self):

The cpu at this point in the trace.

@property
def sequence_index(self):

The sequence index in the trace (number of basic block executed).

@property
def instruction_index(self):

The instruction index in the point basic block.

def previous(self):

The previously executed trace point.

ReturnsThe previous point or None if this is the first point in the trace.
def next(self):

The next executed trace point.

ReturnsThe next point or None if this is the last point in the trace.
@property
def comment 0(self):

The comment at this point. This is similar to an static instruction's comment, but is only displayed at this point.

@comment.setter
def comment(self, text):
Undocumented
@property
def instruction(self):

The point instruction.

@property
def basic_block(self):

The point basic block.

@property
def symbol(self):

The point symbol.

def previous_sequence(self):

Go to the previous sequence

Returnsa point at the begin of the previous sequence or None if this is the first.
def next_sequence(self):

Go to the next sequence

Returnsa point at the begin of the next sequence or None if this is the last.
def __lt__(self, other):
Undocumented
def __eq__(self, other):
Undocumented
def __ne__(self, other):
Undocumented
def __gt__(self, other):
Undocumented
def __ge__(self, other):
Undocumented
def __le__(self, other):
Undocumented
def __repr__(self):
Undocumented
API Documentation for reven, generated by pydoctor at 2016-05-25 16:38:00.