OutputDebugStringA-Funktion (debugapi.h)
Sendet eine Zeichenfolge zur Anzeige an den Debugger.
Syntax
void OutputDebugStringA(
[in, optional] LPCSTR 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 zu erzwingen , dass OutputDebugStringW Unicode-Zeichenfolgen zurückgibt, 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, bewirkt 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 eine Möglichkeit bieten, die Verwendung zu aktivieren oder zu deaktivieren. Weitere Informationen zu Ablaufverfolgungsdetails finden Sie unter Ereignisablaufverfolgung .
Visual Studio hat geändert, wie die Anzeige dieser Zeichenfolgen im Gesamten des Revisionsverlaufs behandelt wird. 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 Aliases mit Code, der nicht codierungsneutral ist, kann zu Nichtübereinstimmungen und Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.
Anforderungen
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 (windows.h einschließen) |
Bibliothek | Kernel32.lib |
DLL | Kernel32.dll |