驅動程式中使用
KdPrint 而盡量不要使用 DbgPrint
KdPrint 會根據編譯版本看是否呼叫 DbgPrint或者不輸出
Checked –> KdPrint –> DbgPrint
Free –> KdPrint –>  XXX
DbgView 免費提供 可在微軟的網站中找到
DbgView 可以同時監聽內核和 Win32 上層應用程式發送的除錯訊息。
| 符号 | 格式说明符 | 类型 | 
|---|---|---|
| %c, %lc | ANSI字符 | char | 
| %C, %wc | 宽字符 | wchar_t | 
| %d, %i | 十进制有符号整数 | int | 
| %D | 十进制int64 |int64 | |
| %L | 十六进制的LARGE_INTEGER | LARGE_INTEGER | 
| %s, %ls | NULL终止的ANSI字符串 | char* | 
| %S, %ws | NULL终止的宽字符串 | wchar_t* | 
| %Z | ANSI_STRING字符串 | ANSI_STRING | 
| %wZ | UNICODE_STRING字符串 | UNICODE_STRING | 
| %u | 十进制的ULONG | ULONG | 
| %x | 小写字符十六进制的ULONG | ULONG | 
| %X | 大写字符十六进制的ULONG | ULONG | 
| %p | 指针Pointer 32/64位 | 
根据DDK上说明,Unicode格式(%C, %S, %lc, %ls, %wc, %ws, and %wZ)只能在 IRQL = PASSIVE_LEVEL時才能使用。
需要注意 中文的 WCHAR 和 UNICODE_STRING可能会被截断打印不出来 
需要转化为 CHAR 和 ANSI_STRING 来打印 
ANSI_STRING ansiString;  省去对ansiString初始化  
KdPrint1);    注意是%Z  
UNICODE_STRING;  省去对uniString初始化  
KdPrint2);    注意是%wZ