aboutsummaryrefslogtreecommitdiff
path: root/test/cases/disable_stack_tracing.zig
blob: 044eaf70123445e5b385d1e4d0a635e7801708fd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
pub const std_options: std.Options = .{
    .allow_stack_tracing = false,
};

pub fn main() !void {
    var st_buf: [8]usize = undefined;
    var buf: [1024]u8 = undefined;
    var stdout = std.fs.File.stdout().writer(&buf);

    const captured_st = try foo(&stdout.interface, &st_buf);
    try std.debug.writeStackTrace(&captured_st, &stdout.interface, .no_color);
    try stdout.interface.print("stack trace index: {d}\n", .{captured_st.index});

    try stdout.interface.flush();
}
fn foo(w: *std.Io.Writer, st_buf: []usize) !std.builtin.StackTrace {
    try std.debug.writeCurrentStackTrace(.{}, w, .no_color);
    return std.debug.captureCurrentStackTrace(.{}, st_buf);
}

const std = @import("std");

// run
//
// Cannot print stack trace: stack tracing is disabled
// Cannot print stack trace: stack tracing is disabled
// stack trace index: 0
//