Freigeben über


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

Siehe auch

Kommunikation mit dem Debugger

Debuggingfunktionen

In VBS-Enklaven verfügbare Vertdll-APIs