class ProcessProxy

Defined at line 38 of file ../../src/sys/fuzzing/realmfuzzer/engine/process-proxy.h

This class presents an interface to the engine for a instrumented target process. It tracks the

LLVM modules associated with the process and synchronizes coverage collection with fuzzing runs.

It also monitors the process for crashes and abnormal exits.

Public Methods

void ProcessProxy (ExecutorPtr executor, const ModulePoolPtr & pool)

Defined at line 17 of file ../../src/sys/fuzzing/realmfuzzer/engine/process-proxy.cc

void ~ProcessProxy ()

Defined at line 22 of file ../../src/sys/fuzzing/realmfuzzer/engine/process-proxy.cc

void Configure (const OptionsPtr & options)

////////////////////////////////////////////////////////////

Configuration methods

Defined at line 34 of file ../../src/sys/fuzzing/realmfuzzer/engine/process-proxy.cc

zx_status_t Connect (uint64_t target_id, InstrumentedProcess & instrumented)

ControllerDataCollector-related methods.

Defined at line 36 of file ../../src/sys/fuzzing/realmfuzzer/engine/process-proxy.cc

uint64_t target_id ()

Defined at line 43 of file ../../src/sys/fuzzing/realmfuzzer/engine/process-proxy.h

zx_status_t AddInline8bitCounters (zx::vmo & inline_8bit_counters)

Defined at line 80 of file ../../src/sys/fuzzing/realmfuzzer/engine/process-proxy.cc

ZxPromise<> Start (bool detect_leaks)

////////////////////////////////////////////////////////////

Run-related methods

Defined at line 113 of file ../../src/sys/fuzzing/realmfuzzer/engine/process-proxy.cc

zx_status_t Finish ()

Signals the associated process that a fuzzing run is finishing.

Defined at line 124 of file ../../src/sys/fuzzing/realmfuzzer/engine/process-proxy.cc

Promise<bool, uint64_t> AwaitFinish ()

Returns a promise that completes either when the process acknowledges a (possibly subsequent)

call to |Finish|, or when it encounters an error. The promise returns whether any memory leaks

are suspected when successful, and the proxy's target ID on error.

Defined at line 126 of file ../../src/sys/fuzzing/realmfuzzer/engine/process-proxy.cc

zx_status_t GetStats (ProcessStats * out)

////////////////////////////////////////////////////////////

Status-related methods.

Defined at line 142 of file ../../src/sys/fuzzing/realmfuzzer/engine/process-proxy.cc

ZxPromise<FuzzResult> GetResult ()

Promises to return the fuzzing result from a process that encountered a fatal error. Waits for

the process to terminate.

Defined at line 144 of file ../../src/sys/fuzzing/realmfuzzer/engine/process-proxy.cc

size_t Dump (void * buffer, size_t size)

Dumps information about all threads in a process to the provided buffer. Returns the number of

bytes written, not including the null-terminator.

Defined at line 194 of file ../../src/sys/fuzzing/realmfuzzer/engine/process-proxy.cc