mirror of
https://codeberg.org/ziglang/zig.git
synced 2025-12-06 13:54:21 +00: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:
parent
2ab650b481
commit
dae703d3c0
1 changed files with 1 additions and 1 deletions
|
|
@ -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);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue