是的,如果不启用详细的内核输出,Windbg 将无法打印你的内核驱动程序中的 DbgPrints。要解决这个问题,你可以按照以下步骤进行操作:
#include
// ...
VOID MyFunction()
{
// ...
DbgPrint("This is a debug message\n");
// ...
}
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Debug Print Filter
在 Debug Print Filter 路径下,找到或创建名为 DEFAULT 的键。如果已存在该键,请确保它的值为 0x8。
如果 DEFAULT 键不存在,请创建一个 DWORD (32-bit) 值,并将其命名为 DEFAULT。将其值设置为 0x8。
重新启动你的计算机以使更改生效。
在 Windbg 中调试你的内核驱动程序。你应该能够看到来自 DbgPrint 函数的输出。
请注意,具体的注册表路径和键名可能因操作系统版本而异。你可以根据你的操作系统版本进行相应的调整。