다음을 통해 공유


디버거에 출력 보내기

사용자 모드 및 커널 모드 코드는 다른 루틴을 사용하여 디버거에 출력을 보냅니다.

출력 루틴 User-Mode

OutputDebugString 루틴은 null로 끝나는 문자열을 호출 프로세스의 디버거로 보냅니다. 사용자 모드 드라이버에서 OutputDebugString 은 디버거 명령 창에 문자열을 표시합니다. 디버거가 실행되고 있지 않으면 이 루틴은 영향을 주지 않습니다. OutputDebugStringprintf 형식 문자열의 변수 인수를 지원하지 않습니다.

이 루틴의 프로토타입은 다음과 같습니다.

VOID OutputDebugString(
   LPCTSTR lpOutputString
   );

이 루틴에 대한 전체 설명서는 디버거와 통신을 참조하세요.

출력 루틴 Kernel-Mode

DbgPrint 루틴은 디버거 창에 출력을 표시합니다. 이 루틴은 기본 printf 형식 매개 변수를 지원합니다. 커널 모드 드라이버만 DbgPrint를 호출할 수 있습니다.

DbgPrintEx 루틴은 DbgPrint와 비슷하지만 메시지를 "태그"로 지정할 수 있습니다. 디버거를 실행할 때 특정 태그가 있는 메시지만 보내도록 허용할 수 있습니다. 이렇게 하면 관심 있는 메시지만 볼 수 있습니다. 자세한 내용은 디버깅 메시지 읽기 및 필터링을 참조하세요.

KdPrintKdPrintEx 매크로는 확인된 빌드 환경에서 컴파일될 때 각각 DbgPrintDbgPrintEx와 동일합니다. 무료 빌드 환경에서 컴파일할 때는 아무런 효과가 없습니다.