【发布时间】:2020-04-18 06:51:27
【问题描述】:
如何调试从示例中获取的位图打印驱动程序 https://github.com/microsoft/Windows-driver-samples/tree/master/print/OEM%20Printer%20Customization%20Plug-in%20Samples/C%2B%2B/bitmap
目前我一直在这样做,但肯定有更好的方法:
1) 在调试模式下构建解决方案。
2) 将其安装为带有 .inf 文件的驱动程序。
3) 将 PDB 文件复制到 C:\Windows\System32\spool\drivers\x64\3 文件夹。
4) 将 Visual Studio 附加到 spool.exe 并打印任何文档
5) 这没关系,但即使出于测试目的对代码所做的任何更改都将不起作用。我必须重新安装驱动程序,再次复制 pdb 文件。
我也尝试过另一种方法 1)将打印机附加到文件:端口打印到文件
2) 将windgb附加到记事本并打印
3) 但我没有看到加载的所有符号
4) 我试过 .symfyx,重新加载 /f。这表示无法加载 UNIRES.dll。
我能够将 windbg 附加到 notepad.exe。我需要 UNIRES.DLL 才能使用 unidrv!giDebugLevel
请建议您使用哪些方法来调试驱动程序?
【问题讨论】:
-
没有附加到 wudfhost.exe 的工作,如果您设置了 _NT_SYMBOL_PATH 环境变量,则不应要求您复制 pdb 文件
-
@blabb: wudfhost.exe 是什么?
-
@blabb:我希望您发布您正在谈论的文档,而不是说“按照文档记录”。您只是对一些文档进行成像吗? docs.microsoft.com/en-us/windows-hardware/drivers/print/…。这就是我所遵循的,没有提到 wudfhost
-
抱歉,我弄错了 PrinterDriver 不是 UMDF 驱动程序,所以 wudfhost 不适用
-
@blabb:谢谢。我得到它使用 giDebugLevel =1 并将详细日志写入 DbgView。还可以。由于我不是驱动程序开发人员,所以整个世界都是模糊的。
标签: windows printing driver windbg