mirror of
https://codeberg.org/ziglang/zig.git
synced 2026-04-27 19:09:47 +03:00
std.posix.abort: only trigger breakpoint on Windows if being debugged
Processes should reasonably be able to expect their children to abort with typical exit codes, rather than a debugger breakpoint signal. This flag in the PEB is what would be checked by `IsDebuggerPresent` in kernel32, which is the function you would typically use for this purpose. This fixes `test-stack-trace` failures on Windows, as these tests were expecting exit code 3 to indicate abort.
This commit is contained in:
+1
-1
@@ -689,7 +689,7 @@ pub fn abort() noreturn {
|
||||
// even when linking libc on Windows we use our own abort implementation.
|
||||
// See https://github.com/ziglang/zig/issues/2071 for more details.
|
||||
if (native_os == .windows) {
|
||||
if (builtin.mode == .Debug) {
|
||||
if (builtin.mode == .Debug and windows.peb().BeingDebugged != 0) {
|
||||
@breakpoint();
|
||||
}
|
||||
windows.kernel32.ExitProcess(3);
|
||||
|
||||
Reference in New Issue
Block a user