struct StackTrace [src]

This data structure is used by the Zig language code generation and therefore must be kept in sync with the compiler implementation.

Fields

index: usize
instruction_addresses: []usize

Members

Source

pub const StackTrace = struct { index: usize, instruction_addresses: []usize, pub fn format(self: StackTrace, writer: *std.Io.Writer) std.Io.Writer.Error!void { // TODO: re-evaluate whether to use format() methods at all. // Until then, avoid an error when using GeneralPurposeAllocator with WebAssembly // where it tries to call detectTTYConfig here. if (builtin.os.tag == .freestanding) return; const debug_info = std.debug.getSelfDebugInfo() catch |err| { return writer.print("\nUnable to print stack trace: Unable to open debug info: {s}\n", .{@errorName(err)}); }; const tty_config = std.Io.tty.detectConfig(std.fs.File.stderr()); try writer.writeAll("\n"); std.debug.writeStackTrace(self, writer, debug_info, tty_config) catch |err| { try writer.print("Unable to print stack trace: {s}\n", .{@errorName(err)}); }; } }