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