Zig 0.17.0-dev (Split by item) This is an example of documentation generated by
ZigDoc , an alternative to Zig's built-in
Auto Doc feature. See also
examples in other modes/formats . The project being documented here (as the example) is the Zig standard library.
std › debug › ConfigurableTrace › dump Public Function dump Doc Source Public Function std.debug.ConfigurableTrace.dump
pub fn dump (t : @This ()) void Params File debug.zig: 1808
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830 pub fn dump (t : @This ()) void {
if (!enabled ) return ;
const stderr = lockStderr (&.{}).terminal ();
defer unlockStderr ();
const end = @min (t .index , size );
for (t .addrs [0 ..end ], 0 ..) |frames_array , i | {
stderr .writer .print ("{s}:\n" , .{t .notes [i ]}) catch return ;
var frames_array_mutable = frames_array ;
const frames = mem .sliceTo (frames_array_mutable [0 ..], 0 );
const len = @min (t .index , frames .len );
const stack_trace : StackTrace = .{
.return_addresses = frames [0 ..len ],
.skipped = if (len < frames .len ) .none else .unknown ,
};
writeStackTrace (&stack_trace , stderr ) catch return ;
}
if (t .index > end ) {
stderr .writer .print ("{d} more traces not shown; consider increasing trace size\n" , .{
t .index - end ,
}) catch return ;
}
}