template <IsOnStackApi IsOnStack, bool WithFp = false>

class FramePointerBacktrace

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

A FramePointerBacktrace is a forward iterator object that also acts as its

own forward-range object. So in a range-based for loop it yields a list of

uintptr_t PC values. When the optional second template parameter is true,

it instead yields a list of CallFrame values.

Public Methods

void FramePointerBacktrace<IsOnStack, WithFp> ()

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

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

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

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

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

FramePointerBacktrace<IsOnStack, WithFp> 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 126 of file ../../zircon/kernel/lib/arch/include/lib/arch/backtrace.h

FramePointerBacktrace<IsOnStack, WithFp> BackTrace (uintptr_t pc)

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

FramePointerBacktrace<IsOnStack, WithFp> BackTrace (uintptr_t pc)

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

FramePointerBacktrace<IsOnStack, WithFp> BackTrace (uintptr_t pc)

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

bool empty ()

Container interface.

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

iterator begin ()

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

iterator end ()

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

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

Iterator interface.

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

FramePointerBacktrace<IsOnStack, WithFp> & operator++ ()

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

FramePointerBacktrace<IsOnStack, WithFp> operator++ (int )

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

value_type operator* ()

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