class CfiUnwinder

Defined at line 38 of file ../../src/lib/unwinder/cfi_unwinder.h

Public Methods

void CfiUnwinder (const std::vector<Module> & modules)

Defined at line 97 of file ../../src/lib/unwinder/cfi_unwinder.cc

Error Step (Memory * stack, const Frame & current, Frame & next)

Defined at line 104 of file ../../src/lib/unwinder/cfi_unwinder.cc

void AsyncStep (AsyncMemory * stack, const Frame & current, fit::callback<void (Error, Registers)> cb)

Defined at line 186 of file ../../src/lib/unwinder/cfi_unwinder.cc

bool IsValidPC (uint64_t pc)

For other unwinders that want to check whether a value looks like a valid PC.

Defined at line 261 of file ../../src/lib/unwinder/cfi_unwinder.cc

Error GetCfiModuleInfoForPc (uint64_t pc, CfiModuleInfo ** out)

Fetch the corresponding CfiModuleInfo for the given PC value. The CfiModuleInfo will always

attempt to load CFI directives for the given module, which can return errors if the CFI is

missing or invalid. If this function returns Success, then the CFI was successfully loaded.

Defined at line 266 of file ../../src/lib/unwinder/cfi_unwinder.cc

Error GetModuleForPc (uint64_t pc, Module ** out)

Returns the Module object for the binary without attempting to load either .eh_frame or

.debug_frame. This may be used by fallback unwinders to probe memory when debug info is

unavailable or incomplete. Errors are only returned if the given |pc| is not within any known

modules. Callers must ensure that the binary or debug_info memory is valid before using them.

Defined at line 304 of file ../../src/lib/unwinder/cfi_unwinder.cc