Call Stack
Each “frame” in the call stack corresponds to one layer of function call (script-defined or native Rust).
A call stack frame has the type debugger::CallStackFrame
.
The debugger keeps a call stack of function calls with argument values.
This call stack can be examined to determine the control flow at any particular point.
The Debugger::call_stack
method returns a slice of all call stack frames.
use rhai::debugger::*;
let debugger = &mut context.global_runtime_state().debugger();
// Get depth of the call stack.
let depth = debugger.call_stack().len();
// Display all function calls
for frame in debugger.call_stack().iter() {
println!("{frame}");
}