Crate vex_libunwind

Crate vex_libunwind 

Source
Expand description

Idiomatic Rust bindings for LLVM libunwind on VEX V5 robots

let context = UnwindContext::new().unwrap();
let mut cursor = UnwindCursor::new(&context);

loop {
    // Print instruction pointer (i.e. "program counter")
    println!("{:?}", cursor.register(registers::UNW_REG_IP));

    if !cursor.step().unwrap() {
        // End of stack reached
        break;
    }
}

Modules§

registers

Structs§

UnwindContext
Holds an immutable snapshot of the current CPU’s registers at a certain point of execution.
UnwindCursor
A cursor that can move up the call chain and gather information about stack frames.

Enums§

UnwindError
An error that can occur during unwinding.