Struct frida_gum::stalker::Stalker [−][src]
pub struct Stalker<'a> { /* fields omitted */ }
Expand description
Code tracing engine interface.
Implementations
Checks if the Stalker is supported on the current platform.
Create a new Stalker.
This call has the overhead of checking if the Stalker is available on the current platform, as creating a Stalker on an unsupported platform results in unwanted behaviour.
Exclude a range of address from the Stalker engine.
This exclusion will prevent the Stalker from tracing into the memory range,
reducing instrumentation overhead as well as potential noise from the EventSink
.
Set how many times a piece of code needs to be executed before it is assumed it can be trusted to not mutate.
Specify -1 for no trust (slow), 0 to trust code from the get-go, and N to trust code after it has been executed N times. Defaults to 1.
Get the Stalker trust treshold, see Stalker::set_trust_threshold()
for more details.
Free accumulated memory at a safe point after Stalker::unfollow_me()
.
This is needed to avoid race-conditions where the thread just unfollowed is executing its last instructions.
pub fn follow_me<S: EventSink>(
&mut self,
transformer: &Transformer<'_>,
event_sink: Option<&mut S>
)
This is supported on crate feature event-sink
only.
pub fn follow_me<S: EventSink>(
&mut self,
transformer: &Transformer<'_>,
event_sink: Option<&mut S>
)
event-sink
only.Begin the Stalker on the current thread.
A Transformer
must be specified, and will be updated with all events.
If reusing an existing Transformer
, make sure to call Stalker::garbage_collect()
periodically.
Stop stalking the current thread.
Check if the Stalker is running on the current thread.
Re-activate the Stalker at the specified start point.
Pause the Stalker.