다음을 통해 공유


OutputDebugStringW 함수(debugapi.h)

표시할 문자열을 디버거에 보냅니다.

구문

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

매개 변수

[in, optional] lpOutputString

표시할 null로 끝나는 문자열입니다.

반환 값

없음

설명

중요

이 함수를 사용하려면 애플리케이션에 Windows.h 헤더를 포함해야 합니다(debugapi.h 아님).

이전에는 운영 체제가 OutputDebugStringW (ASCII 문자열이 대신 반환됨)를 통해 유니코드 문자열을 반환하지 않았습니다. OutputDebugStringW가 유니코드 문자열을 반환하도록 강제하려면 디버거가 WaitForDebugEventEx 함수를 호출하여 새 동작을 옵트인해야 합니다. 이러한 방식으로 운영 체제는 디버거가 유니코드를 지원하며 특히 유니코드 문자열 수신을 옵트인한다는 것을 알고 있습니다.

애플리케이션에 디버거가 없으며 필터 마스크에서 허용하는 경우 시스템 디버거는 문자열을 표시합니다. 문자열을 표시하기 위해 이 함수는 DbgPrint 함수를 호출합니다. Windows Vista 이전에는 시스템 디버거에 의해 콘텐츠가 필터링되지 않았습니다.

애플리케이션에 디버거가 없으며 시스템 디버거가 활성 상태가 아닌 경우 OutputDebugString 은 아무 작업도 수행하지 않습니다.

OutputDebugStringW 는 현재 시스템 로캘 정보를 기반으로 지정된 문자열을 변환하고 표시할 OutputDebugStringA 에 전달합니다. 따라서 일부 유니코드 문자가 올바르게 표시되지 않을 수 있습니다.

애플리케이션은 매우 최소한의 디버그 출력을 보내고 사용자가 사용을 사용하거나 사용하지 않도록 설정할 수 있는 방법을 제공해야 합니다. 추적 세부 정보에 대한 자세한 내용은 이벤트 추적 을 참조하세요.

Visual Studio는 수정 기록 전체에서 이러한 문자열의 표시를 처리하는 방법을 변경했습니다. 버전에서 이 문제를 처리하는 방법에 대한 자세한 내용은 Visual Studio 설명서를 참조하세요.

debugapi.h 헤더는 OUTPUTDebugString을 UNICODE 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 불일치 및 컴파일 또는 런타임 오류가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 debugapi.h(Windows.h 포함)
라이브러리 Kernel32.lib
DLL Kernel32.dll

참고 항목

디버거와 통신

디버깅 함수

VBS Enclave에서 사용할 수 있는 Vertdll API