Подтвердить что ты не робот

Gdb: Программа вышла с кодом 030000000375

Я учу себя использовать gdb, и я запускаю некоторые случайные тесты. Возможно, стоит упомянуть, что я использую переносную установку MinGW в Windows 7 x64. Я создал программу, которая, как я знаю, приводит к переполнению стека, и когда я запускаю ее в gdb, я сначала получаю два сигнала SIGSEGV (неудивительно), а затем он выходит (опять же не удивительно) кодом 030000000375.

Program received signal SIGSEGV, Segmentation fault.
Program received signal SIGSEGV, Segmentation fault.
Program exited with code 030000000375.

Любопытство, получающее лучшее из меня... что это за код? Я искал ее и нашел очень мало.

Спасибо!

ОБНОВЛЕНИЕ: Для справки я попробовал ту же программу на Ubuntu, и результаты несколько отличаются:

Program received signal SIGSEGV, Segmentation fault.
Program terminated with signal SIGSEGV, Segmentation fault.
The program no longer exists.
4b9b3361

Ответ 1

gdb выводит код выхода в восьмеричном формате. Не очевидно, но указано ведущим 0.

Итак, 030000000375 - это 0xC00000FD в шестнадцатеричном виде, что делает код более распространенным для программиста Windows.

0xC00000FD STATUS_STACK_OVERFLOW и должен быть определен в ntstatus.h.