From 8c050eff075c318f20c4723006daff5f2cb874db Mon Sep 17 00:00:00 2001 From: Alexey Date: Thu, 2 Apr 2020 18:11:12 +0300 Subject: [PATCH] msvc: add a workaround to fix backtrace (#4200) --- vlib/builtin/builtin_windows.v | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/vlib/builtin/builtin_windows.v b/vlib/builtin/builtin_windows.v index 9487b1291b..15070d8278 100644 --- a/vlib/builtin/builtin_windows.v +++ b/vlib/builtin/builtin_windows.v @@ -84,12 +84,14 @@ $if msvc { frames := int( C.CaptureStackBackTrace(skipframes + 1, 100, backtraces, 0) ) for i:=0; i < frames; i++ { // fugly pointer arithmetics follows ... - s := voidptr( u64(backtraces) + u64(i*sizeof(voidptr)) ) - symfa_ok := C.SymFromAddr( handle, s, &offset, si ) + // FIXME Remove temp variable + tmp := u64(backtraces) + u64(i * sizeof(voidptr)) + s := &voidptr(tmp) + symfa_ok := C.SymFromAddr( handle, *s, &offset, si ) if symfa_ok == 1 { nframe := frames - i - 1 mut lineinfo := '' - symglfa_ok := C.SymGetLineFromAddr64(handle, s, &offset, &sline64) + symglfa_ok := C.SymGetLineFromAddr64(handle, *s, &offset, &sline64) if symglfa_ok == 1 { lineinfo = ' ${sline64.f_file_name}:${sline64.f_line_number}' }