Funzione OutputDebugStringW (debugapi.h)

Invia una stringa al debugger per la visualizzazione.

Sintassi

void OutputDebugStringW(
  [in, optional] LPCWSTR lpOutputString
);

Parametri

[in, optional] lpOutputString

Stringa con terminazione null da visualizzare.

Valore restituito

nessuno

Osservazioni

Importante

Per usare questa funzione, è necessario includere l'intestazione Windows.h nell'applicazione (non debugapi.h).

In passato, il sistema operativo non ha restituito stringhe Unicode tramite OutputDebugStringW (le stringhe ASCII sono state restituite invece). Per forzare OutputDebugStringW a restituire stringhe Unicode, i debugger devono chiamare la funzione WaitForDebugEventEx per acconsentire esplicitamente al nuovo comportamento. In questo modo, il sistema operativo sa che il debugger supporta Unicode e sceglie in particolare di ricevere stringhe Unicode.

Se l'applicazione non ha un debugger e la maschera di filtro lo consente, il debugger di sistema visualizza la stringa. Per visualizzare la stringa, questa funzione chiama la funzione DbgPrint . Prima di Windows Vista, il contenuto non è stato filtrato dal debugger di sistema.

Se l'applicazione non dispone di un debugger e il debugger di sistema non è attivo, OutputDebugString non fa nulla.

OutputDebugStringW converte la stringa specificata in base alle informazioni delle impostazioni locali del sistema correnti e la passa a OutputDebugStringA da visualizzare . Di conseguenza, alcuni caratteri Unicode potrebbero non essere visualizzati correttamente.

Le applicazioni devono inviare output di debug molto minimo e fornire un modo per consentire all'utente di abilitare o disabilitarne l'uso. Per altre informazioni sui dettagli della traccia, vedere Traccia eventi.

Visual Studio ha modificato il modo in cui gestisce la visualizzazione di queste stringhe nella cronologia delle revisioni. Per informazioni dettagliate sulla gestione della versione, vedere la documentazione di Visual Studio.

L'intestazione debugapi.h definisce OutputDebugString come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante preprocessore UNICODE. La combinazione di utilizzo dell'alias di codifica neutrale con il codice non codificato può causare errori di corrispondenza e compilazione o runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzione.

Requisiti

Requisito Valore
Client minimo supportato Windows XP [app desktop | App UWP]
Server minimo supportato Windows Server 2003 [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione debugapi.h (includere Windows.h)
Libreria Kernel32.lib
DLL Kernel32.dll

Vedere anche

Comunicazione con il debugger

Funzioni di debug

API Vertdll disponibili nelle enclave VBS