Kommunikation mit dem Debugger
Die OutputDebugString-Funktion sendet eine Zeichenfolge aus dem Prozess, der gedebuggt wird, an den Debugger, indem ein OUTPUT_DEBUG_STRING_EVENT Debugereignis generiert wird. Ein Prozess kann erkennen, ob er debuggt wird, indem er die IsDebuggerPresent-Funktion aufruft .
Die DebugBreak-Funktion verursacht eine Breakpoint-Ausnahme im aktuellen Prozess. Ein Haltepunkt ist ein Speicherort in einem Programm, an dem die Ausführung beendet wird, damit der Entwickler den Code, die Variablen und die Werte des Programms untersuchen und bei Bedarf Änderungen vornehmen, die Ausführung fortsetzen oder die Ausführung beenden kann.
Die FatalExit-Funktion beendet den aktuellen Prozess und gibt dem Debugger die Ausführungssteuerung, generiert aber im Gegensatz zu DebugBreak keine Ausnahme. Diese Funktion sollte nur als letztes Mittel verwendet werden, da sie nicht immer den Arbeitsspeicher des Prozesses freigibt oder seine Dateien schließt.