Comunicando-se com o Depurador
A função OutputDebugString envia uma cadeia de caracteres do processo que está sendo depurado para o depurador gerando um evento de depuração OUTPUT_DEBUG_STRING_EVENT. Um processo pode detectar se está sendo depurado chamando a função IsDebuggerPresent.
A função DebugBreak causa uma exceção de ponto de interrupção no processo atual. Um ponto de interrupção é um local em um programa onde a execução é interrompida para permitir que o desenvolvedor examine o código, as variáveis e os valores de registro do programa e, conforme necessário, faça alterações, continue a execução ou encerre a execução.
A função FatalExit encerra o processo atual e dá controle de execução ao depurador, mas ao contrário de DebugBreak, ela não gera uma exceção. Esta função só deve ser usada como último recurso, porque nem sempre libera a memória do processo ou fecha seus arquivos.