Advertisement
Guest User

Untitled

a guest
Apr 21st, 2019
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.66 KB | None | 0 0
  1. const std = @import("std");
  2. const builtin = @import("builtin");
  3.  
  4. export fn captureStackTrace(addresses: [*]usize, len: usize, first_addr: usize) void {
  5. var trace = builtin.StackTrace{
  6. .instruction_addresses = addresses[0..len],
  7. .index = 0,
  8. };
  9. std.debug.captureStackTrace(if (first_addr == 0) null else first_addr, &trace);
  10. }
  11.  
  12. export fn dumpStackTrace(addresses: [*]usize, len: usize) void {
  13. var index: usize = 0;
  14. while (index < len and addresses[index] != 0) {
  15. index += 1;
  16. }
  17. var trace = builtin.StackTrace{
  18. .instruction_addresses = addresses[0..len],
  19. .index = index,
  20. };
  21. std.debug.dumpStackTrace(trace);
  22. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement