stack trace example
parent
499d20c5db
commit
e2f77230a6
@ -0,0 +1,32 @@
|
||||
const std = @import("std");
|
||||
const builtin = @import("builtin");
|
||||
|
||||
var address_buffer: [8]usize = undefined;
|
||||
|
||||
var trace1 = builtin.StackTrace{
|
||||
.instruction_addresses = address_buffer[0..4],
|
||||
.index = 0,
|
||||
};
|
||||
|
||||
var trace2 = builtin.StackTrace{
|
||||
.instruction_addresses = address_buffer[4..],
|
||||
.index = 0,
|
||||
};
|
||||
|
||||
pub fn main() void {
|
||||
foo();
|
||||
bar();
|
||||
|
||||
std.debug.print("first one:\n", .{});
|
||||
std.debug.dumpStackTrace(trace1);
|
||||
std.debug.print("\n\nsecond one:\n", .{});
|
||||
std.debug.dumpStackTrace(trace2);
|
||||
}
|
||||
|
||||
fn foo() void {
|
||||
std.debug.captureStackTrace(null, &trace1);
|
||||
}
|
||||
|
||||
fn bar() void {
|
||||
std.debug.captureStackTrace(null, &trace2);
|
||||
}
|
Loading…
Reference in New Issue