Function backtrace::trace [] [src]

pub fn trace(cb: &mut FnMut(&Frame) -> bool)

Inspects the current call-stack, passing all active frames into the closure provided to calculate a stack trace.

This function is the workhorse of this library in calculating the stack traces for a program. The given closure cb is yielded instances of a Frame which represent information about that call frame on the stack. The closure is yielded frames in a top-down fashion (most recently called functions first).

The closure's return value is an indication of whether the backtrace should continue. A return value of false will terminate the backtrace and return immediately.

Once a Frame is acquired you will likely want to call backtrace::resolve to convert the ip (instruction pointer) or symbol address to a Symbol through which the name and/or filename/line number can be learned.

Example

extern crate backtrace;

fn main() {
    backtrace::trace(&mut |frame| {
        // ...

        true // continue the backtrace
    });
}