You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
There are 3 spaces after every number in the stacktrace output on windows:
D:\dev\projects\backtracetest\build-win\bin>main 0
------------------------
Stack trace (most recent call last):
#9 Object "", at 0 0 0 0 7 F F 8 6 D A 2 7 0 3 4 , in BaseThreadInitThunk
#8 Source "d:\agent\_work\4\s\src\vctools\crt\vcstartup\src\startup\exe_main.cpp", line 1 7 , in mainCRTStartup
#7 Source "d:\agent\_work\4\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl", line 3 3 1 , in __scrt_common_main
#6 Source "d:\agent\_work\4\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl", line 2 8 8 , in __scrt_common_main_seh
#5 Source "d:\agent\_work\4\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl", line 7 9 , in invoke_main
#4 Source "D:\dev\projects\backtracetest\main.cpp", line 1 7 2 , in main
1 6 9 : // testfunc();
1 7 0 :
1 7 1 : helper(argc, argv);
> 1 7 2 : return 0;
1 7 3 : }
#3 Source "D:\dev\projects\backtracetest\main.cpp", line 6 5 , in helper
6 2 : {
6 3 : case str2int("0"):
6 4 : print_backtrace();
> 6 5 : break;
6 6 : case str2int("1"):
6 7 : lib1_pst();
6 8 : break;
#2 Source "D:\dev\projects\backtracetest\pst.h", line 1 1 0 , in print_backtrace
1 0 8 : // throw new int();
1 0 9 : // *(int *)0 = 42;
> 1 1 0 : }
1 1 1 :
1 1 2 :
1 1 3 : static void crash()
#1 Source "D:\dev\projects\backtracetest\pst.h", line 6 5 , in do_print_backtrace
6 3 : StackTrace st;
6 4 : st.load_here(32);
> 6 5 : Printer p;
6 6 : //p.color_mode = ColorMode::never;
6 7 :
6 8 : p.print(st);
#0 Source "D:\dev\projects\backtracetest\backward.hpp", line 1 1 3 0 , in backward::StackTraceImpl<backward::system_tag::windows_tag>::load_here
1 1 2 7 : RtlCaptureContext(ctx_);
1 1 2 8 : }
1 1 2 9 :
>1 1 3 0 : if (!thd_) {
1 1 3 1 : thd_ = GetCurrentThread();
1 1 3 2 : }
But the same executable works as expected while debugging from vscode or if I pipe the stdout to a file ( note: the stacktrace goes to stderr, not stdout ):
D:\dev\projects\backtracetest\build-win\bin>main 0 > out.txt
Stack trace (most recent call last):
#9 Object "", at 00007FF86DA27034, in BaseThreadInitThunk
#8 Source "d:\agent\_work\4\s\src\vctools\crt\vcstartup\src\startup\exe_main.cpp", line 17, in mainCRTStartup
#7 Source "d:\agent\_work\4\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl", line 331, in __scrt_common_main
#6 Source "d:\agent\_work\4\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl", line 288, in __scrt_common_main_seh
#5 Source "d:\agent\_work\4\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl", line 79, in invoke_main
#4 Source "D:\dev\projects\backtracetest\main.cpp", line 172, in main
169: // testfunc();
170:
171: helper(argc, argv);
> 172: return 0;
173: }
#3 Source "D:\dev\projects\backtracetest\main.cpp", line 65, in helper
62: {
63: case str2int("0"):
64: print_backtrace();
> 65: break;
66: case str2int("1"):
67: lib1_pst();
68: break;
#2 Source "D:\dev\projects\backtracetest\pst.h", line 110, in print_backtrace
108: // throw new int();
109: // *(int *)0 = 42;
> 110: }
111:
112:
113: static void crash()
#1 Source "D:\dev\projects\backtracetest\pst.h", line 65, in do_print_backtrace
63: StackTrace st;
64: st.load_here(32);
> 65: Printer p;
66: //p.color_mode = ColorMode::never;
67:
68: p.print(st);
#0 Source "D:\dev\projects\backtracetest\backward.hpp", line 1130, in backward::StackTraceImpl<backward::system_tag::windows_tag>::load_here
1127: RtlCaptureContext(ctx_);
1128: }
1129:
>1130: if (!thd_) {
1131: thd_ = GetCurrentThread();
1132: }
The same code on works fine on WSL Ubuntu.
I'm using Visual Studio 2019 community edition, 19.25.28614.0
The text was updated successfully, but these errors were encountered:
Hi,
There are 3 spaces after every number in the stacktrace output on windows:
But the same executable works as expected while debugging from vscode or if I pipe the stdout to a file ( note: the stacktrace goes to stderr, not stdout ):
The same code on works fine on WSL Ubuntu.
I'm using Visual Studio 2019 community edition, 19.25.28614.0
The text was updated successfully, but these errors were encountered: