Взаимодействие с отладчиком программы
Функция OutputDebugString отправляет символьную строку из отлаживаемого процесса отладчику программы создавая событие отладки OUTPUT_DEBUG_STRING_EVENT. Процесс может определить, отлаживался ли он при помощи вызова функции IsDebuggerPresent.
Функция DebugBreak порождает исключительную ситуацию в контрольной точке текущего процесса. Контрольная точка - это место в программе, где останавливается исполнение кода, чтобы дать возможность разработчику исследовать код программы, переменные и значения регистра и, по мере необходимости, делать изменения, продолжить исполнение кода, или завершить работу по исполнению кода.
Функция FatalExit завершает работу текущего процесса и передает управление исполнением кода отладчику программы, но в отличие от функции DebugBreak, она не создает исключительную ситуацию. Эта функция должна использоваться только как последнее средство спасения, потому что она не всегда освобождает память процесса или закрывает его файлы.