Vista 이후에서는 커널모드에서 디버그스트링(DebugString)이 출력되지 않도록 디폴트 설정되어 있음.
커널에서 출력하는 DebugString을 보고 싶다면...
Kernel Debugger가 활성되어 있을경우, WinDbg를 사용하여 적절한 컴포넌트 필터 Mask를 세팅 (재 부팅 시 초기화 됨)
DPFLTR_INFO_LEVEL 로 켜고 싶을 때kd > ed Kd_DEFAULT_MASK 8DPFLTR_ERROR_LEVEL 로 켜고 싶을 때kd > ed Kd_DEFAULT_MASK 0xF디버그 메시지를 끄고 싶을 때kd > ed Kd_DEFAULT_MASK 0
디버깅 없이 영구적으로 출력하도록 설정하려면 아래 레지스트리에
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Debug Print Filter
위의 위치에 "Default"라는 REG_DWORD 값을 만들고 0xF 설정
'Kernel Inside' 카테고리의 다른 글
IoCallDriver 소스코드 from ReactOS (0) | 2011.04.07 |
---|---|
DriverEntry에 쉽게 BreakPoint 거는법 (0) | 2011.03.30 |
Locks, Deadlocks, and Synchronization (0) | 2011.03.25 |
후킹하지 않고 프로세스 보호하기 (0) | 2011.03.25 |
Scheduling, Thread Context, and IRQL (0) | 2011.03.24 |