Функция OutputDebugStringA (debugapi.h)
Отправляет строку в отладчик для отображения.
Синтаксис
void OutputDebugStringA(
[in, optional] LPCSTR 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 |