OutputDebugStringW-Funktion (debugapi.h)
Sendet eine Zeichenfolge zur Anzeige an den Debugger.
Syntax
void OutputDebugStringW(
[in, optional] LPCWSTR lpOutputString
);
Parameter
[in, optional] lpOutputString
Die null-endende Zeichenfolge, die angezeigt werden soll.
Rückgabewert
Keine
Bemerkungen
Wichtig
Um diese Funktion verwenden zu können, müssen Sie den Windows.h-Header in Ihre Anwendung einschließen (nicht debugapi.h).
In der Vergangenheit hat das Betriebssystem keine Unicode-Zeichenfolgen über OutputDebugStringW zurückgegeben (stattdessen wurden ASCII-Zeichenfolgen zurückgegeben). Um OutputDebugStringW zu erzwingen, Unicode-Zeichenfolgen zurückzugeben, müssen Debugger die WaitForDebugEventEx-Funktion aufrufen, um das neue Verhalten zu aktivieren. Auf diese Weise weiß das Betriebssystem, dass der Debugger Unicode unterstützt und sich speziell für den Empfang von Unicode-Zeichenfolgen entscheidet.
Wenn die Anwendung über keinen Debugger verfügt und die Filtermaske dies zulässt, zeigt der Systemdebugger die Zeichenfolge an. Um die Zeichenfolge anzuzeigen, ruft diese Funktion die DbgPrint-Funktion auf. Vor Windows Vista wurden Inhalte nicht vom Systemdebugger gefiltert.
Wenn die Anwendung keinen Debugger hat und der Systemdebugger nicht aktiv ist, macht OutputDebugString nichts.
OutputDebugStringW konvertiert die angegebene Zeichenfolge basierend auf den aktuellen Systemgebietsschemainformationen und übergibt sie zur Anzeige an OutputDebugStringA . Daher werden einige Unicode-Zeichen möglicherweise nicht ordnungsgemäß angezeigt.
Anwendungen sollten eine sehr minimale Debugausgabe senden und dem Benutzer die Möglichkeit bieten, die Verwendung zu aktivieren oder zu deaktivieren. Weitere Informationen zu Ablaufverfolgungsdetails finden Sie unter Ereignisablaufverfolgung .
Visual Studio hat die Verarbeitung der Anzeige dieser Zeichenfolgen während des gesamten Revisionsverlaufs geändert. Ausführliche Informationen dazu, wie Ihre Version damit umgeht, finden Sie in der Visual Studio-Dokumentation.
Der debugapi.h-Header definiert OutputDebugString als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit nicht codierungsneutralem Code kann zu Nichtübereinstimmungen und Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows XP [Desktop-Apps | UWP-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2003 [Desktop-Apps | UWP-Apps] |
Zielplattform | Windows |
Kopfzeile | debugapi.h (einschließen von Windows.h) |
Bibliothek | Kernel32.lib |
DLL | Kernel32.dll |