A thin wrapper around writeCurrentStackTrace which writes to stderr and ignores write errors.
pub fn dumpCurrentStackTrace(options: StackUnwindOptions) void
pub fn dumpCurrentStackTrace(options: StackUnwindOptions) void {
const io = std.Options.debug_io;
const prev = io.swapCancelProtection(.blocked);
defer _ = io.swapCancelProtection(prev);
const stderr = lockStderr(&.{}).terminal();
defer unlockStderr();
writeCurrentStackTrace(.{
.first_address = a: {
if (options.first_address) |a| break :a a;
if (options.context != null) break :a null;
break :a @returnAddress(); // don't include this frame in the trace
},
.context = options.context,
.allow_unsafe_unwind = options.allow_unsafe_unwind,
}, stderr) catch |err| switch (err) {
error.WriteFailed => {},
};
}