デバッガーとの通信

OutputDebugString 関数は、OUTPUT_DEBUG_STRING_EVENT デバッグ イベントを生成することによって、デバッグ中のプロセスからデバッガーに文字列を送信します。 プロセスは、 IsDebuggerPresent 関数を呼び出すことによって、デバッグ中かどうかを検出できます。

DebugBreak 関数は、現在のプロセスでブレークポイント例外を発生させます。 ブレークポイントは、プログラムのコード、変数、およびレジスタ値を調べ、必要に応じて変更を加えたり、実行を続行したり、実行を終了したりできるように、実行が停止されるプログラム内の場所です。

FatalExit 関数は現在のプロセスを終了し、デバッガーに実行制御を与えますが、 DebugBreak とは異なり、例外は生成されません。 この関数は、プロセスのメモリを解放したり、ファイルを閉じたりするとは限らないため、最後の手段としてのみ使用する必要があります。