這裏顯示兩個版本的差異處。
| Both sides previous revision 前次修改 下次修改 | 前次修改 | ||
|
visual_c_plusplus [2024/04/15 08:18] don |
visual_c_plusplus [2024/04/15 08:21] (目前版本) don |
||
|---|---|---|---|
| 行 1: | 行 1: | ||
| ====== Visual C++ 研究 ====== | ====== Visual C++ 研究 ====== | ||
| - | 驅動程式中使用 | + | 驅動程式中使用\\ |
| - | KdPrint 而盡量不要使用 DbgPrint | + | KdPrint 而盡量不要使用 DbgPrint\\ |
| - | KdPrint 會根據編譯版本看是否呼叫 DbgPrint或者不輸出 | + | KdPrint 會根據編譯版本看是否呼叫 DbgPrint或者不輸出\\ |
| - | Checked --> KdPrint --> DbgPrint | + | Checked --> KdPrint --> DbgPrint\\ |
| - | Free --> KdPrint --> | + | Free --> KdPrint --> |
| - | DbgView 免費提供 可在微軟的網站中找到 | + | DbgView 免費提供 可在微軟的網站中找到\\ |
| - | DbgView 可以同時監聽內核和 Win32 上層應用程式發送的除錯訊息。 | + | DbgView 可以同時監聽內核和 Win32 上層應用程式發送的除錯訊息。\\ |
| ^符号 ^格式说明符 ^类型 ^ | ^符号 ^格式说明符 ^类型 ^ | ||
| 行 23: | 行 23: | ||
| |%x |小写字符十六进制的ULONG |ULONG| | |%x |小写字符十六进制的ULONG |ULONG| | ||
| |%X |大写字符十六进制的ULONG |ULONG| | |%X |大写字符十六进制的ULONG |ULONG| | ||
| - | |%p |指针Pointer 32/64位 || | + | |%p |指针Pointer 32/64位 | | |
| + | 根据DDK上说明, | ||
| + | 需要注意 中文的 WCHAR 和 UNICODE_STRING可能会被截断打印不出来 \\ | ||
| + | 需要转化为 CHAR 和 ANSI_STRING 来打印 \\ | ||
| + | ANSI_STRING ansiString; | ||
| + | KdPrint((" | ||
| + | | ||
| + | UNICODE_STRING; | ||
| + | KdPrint((" | ||