template <typename IsOnStack>

class FramePointerBacktrace

Defined at line 85 of file ../../zircon/kernel/lib/arch/include/lib/arch/backtrace.h

This is parameterized by the type of some object that's callable as

`bool(const CallFrame*)` to determine whether it's safe to dereference a

known-aligned pointer that's expected to be on the stack. The IsOnStack

object must be default-constructible, copyable, and copy-assignable. But a

non-default value can be passed to BackTrace().

Public Methods

void FramePointerBacktrace<IsOnStack> ()

Defined at line 101 of file ../../zircon/kernel/lib/arch/include/lib/arch/backtrace.h

void FramePointerBacktrace<IsOnStack> (const FramePointerBacktrace<IsOnStack> & )

Defined at line 102 of file ../../zircon/kernel/lib/arch/include/lib/arch/backtrace.h

FramePointerBacktrace<IsOnStack> & operator= (const FramePointerBacktrace<IsOnStack> & )

Defined at line 103 of file ../../zircon/kernel/lib/arch/include/lib/arch/backtrace.h

FramePointerBacktrace<IsOnStack> BackTrace (const CallFrame * fp, IsOnStack is_on_stack)

The caller evaluates the default argument to supply its own backtrace:

`for (uintptr_t pc : FramePointerBacktrace::BackTrace()) { ... }` or

`vector

<uintptr

_t>(FramePointerBacktrace::BackTrace(), FramePointerBacktrace::end())`.

That way the immediate caller itself is not included in the backtrace.

Defined at line 109 of file ../../zircon/kernel/lib/arch/include/lib/arch/backtrace.h

FramePointerBacktrace<IsOnStack> BackTrace (uintptr_t pc)

Defined at line 127 of file ../../zircon/kernel/lib/arch/include/lib/arch/backtrace.h

FramePointerBacktrace<IsOnStack> BackTrace (uintptr_t pc)

Defined at line 127 of file ../../zircon/kernel/lib/arch/include/lib/arch/backtrace.h

FramePointerBacktrace<IsOnStack> BackTrace (uintptr_t pc)

Defined at line 127 of file ../../zircon/kernel/lib/arch/include/lib/arch/backtrace.h

bool empty ()

Container interface.

Defined at line 133 of file ../../zircon/kernel/lib/arch/include/lib/arch/backtrace.h

iterator begin ()

Defined at line 135 of file ../../zircon/kernel/lib/arch/include/lib/arch/backtrace.h

iterator end ()

Defined at line 137 of file ../../zircon/kernel/lib/arch/include/lib/arch/backtrace.h

bool operator== (const FramePointerBacktrace<IsOnStack> & other)

Iterator interface.

Defined at line 141 of file ../../zircon/kernel/lib/arch/include/lib/arch/backtrace.h

bool operator!= (const FramePointerBacktrace<IsOnStack> & other)

Defined at line 144 of file ../../zircon/kernel/lib/arch/include/lib/arch/backtrace.h

FramePointerBacktrace<IsOnStack> & operator++ ()

Defined at line 146 of file ../../zircon/kernel/lib/arch/include/lib/arch/backtrace.h

FramePointerBacktrace<IsOnStack> operator++ (int )

Defined at line 158 of file ../../zircon/kernel/lib/arch/include/lib/arch/backtrace.h

value_type operator* ()

Defined at line 164 of file ../../zircon/kernel/lib/arch/include/lib/arch/backtrace.h