You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
660 B
Zig
33 lines
660 B
Zig
4 years ago
|
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);
|
||
|
}
|