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 |
Parameters | trace | The point trace. |
index | The sequence index. | |
instruction_index | The instruction index. |
The sequence index in the trace (number of basic block executed).
The previously executed trace point.
Returns | The previous point or None if this is the first point in the
trace. |
The next executed trace point.
Returns | The next point or None if this is the last point in the trace. |
The comment at this point. This is similar to an static instruction's comment, but is only displayed at this point.
Go to the previous sequence
Returns | a point at the begin of the previous sequence or None if this
is the first. |