Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const std = @import("std");
- const builtin = @import("builtin");
- export fn captureStackTrace(addresses: [*]usize, len: usize, first_addr: usize) void {
- var trace = builtin.StackTrace{
- .instruction_addresses = addresses[0..len],
- .index = 0,
- };
- std.debug.captureStackTrace(if (first_addr == 0) null else first_addr, &trace);
- }
- export fn dumpStackTrace(addresses: [*]usize, len: usize) void {
- var index: usize = 0;
- while (index < len and addresses[index] != 0) {
- index += 1;
- }
- var trace = builtin.StackTrace{
- .instruction_addresses = addresses[0..len],
- .index = index,
- };
- std.debug.dumpStackTrace(trace);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement