Поделиться через


Функция OutputDebugStringW (debugapi.h)

Отправляет строку в отладчик для отображения.

Синтаксис

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

Параметры

[in, optional] lpOutputString

Строка, завершающаяся значением NULL, которая должна отображаться.

Возвращаемое значение

None

Remarks

Важно!

Чтобы использовать эту функцию, необходимо включить заголовок Windows.h в приложение (не debugapi.h).

В прошлом операционная система не возвращала строки Юникода через OutputDebugStringW (вместо этого возвращались строки ASCII). Чтобы принудить OutputDebugStringW возвращать строки Юникода, отладчики должны вызвать функцию WaitForDebugEventEx , чтобы выбрать новое поведение. Таким образом, операционная система знает, что отладчик поддерживает Юникод, и специально выбирает получение строк Юникода.

Если приложение не имеет отладчика и маска фильтра разрешает его, системный отладчик отображает строку. Чтобы отобразить строку, эта функция вызывает функцию DbgPrint . До Windows Vista содержимое не отфильтровываться системным отладчиком.

Если в приложении нет отладчика и системный отладчик не активен, OutputDebugString ничего не делает.

OutputDebugStringW преобразует указанную строку на основе сведений о текущем языковом стандарте системы и передает ее в OutputDebugStringA для отображения. В результате некоторые символы Юникода могут отображаться неправильно.

Приложения должны отправлять очень минимальные выходные данные отладки и предоставлять пользователю способ включения или отключения его использования. Дополнительные сведения о трассировке см. в разделе Трассировка событий .

Visual Studio изменила способ обработки отображения этих строк на протяжении всего журнала изменений. Дополнительные сведения о том, как ваша версия работает с этим, см. в документации по Visual Studio.

Заголовок debugapi.h определяет OutputDebugString как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, который не является нейтральным для кодировки, может привести к несоответствиям и ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

Требование Значение
Минимальная версия клиента Windows XP [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2003 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header debugapi.h (включая Windows.h)
Библиотека Kernel32.lib
DLL Kernel32.dll

См. также

Взаимодействие с отладчиком

Функции отладки

API-интерфейсы Vertdll, доступные в анклавах VBS