使用 pdb 且无源代码调试第 3 方驱动程序
我有一个运行良好的磁盘映像,并且有数千小时的运行时间,没有报告蓝屏。我设置了重新启动循环,几十个循环后没有看到蓝屏。
我为某个硬件安装了第 3 方驱动程序,现在每启动 3 或 4 次就会出现蓝屏。这似乎是由池损坏引起的。
我为该驱动程序启用了驱动程序验证程序,并且仅检查了特殊池。就不会再蓝屏了。禁用验证器后,我仍然无法出现蓝屏。这是我第二次经历这个过程,而且似乎可以重复。
当它检测到验证器时,它似乎正在设置某种标志 - 我知道有报道称制造商以这种方式欺骗 WHQL,尽管我希望还有其他解释。注册表中没有任何明显的内容,并且字符串在二进制文件中找不到任何有用的内容。
制造商随驱动程序一起提供了带有私有符号的 pdb。有什么方法可以让我在不实际运行驱动程序和使用内核调试器的情况下使用 pdb 文件吗?我也很感激任何其他解决此类问题的建议。
谢谢
I have a disk image that runs well, and has thousands of hours of run-time with no reported blue screens. I set up a reboot loop and didn't see a blue screen after a few dozen cycles.
I installed a 3rd-party driver for a piece of hardware and now get a blue screen every 3 or 4 boots. It seems to be caused by pool corruption.
I enabled the driver verifier for that driver, and only checked special pool. It will not blue screen any more. After disabling the verifier, I still can't get blue screens. This is the second time I've gone through the process, and it seems repeatable.
It seems like it is setting some sort of flag when it detects the verifier - I know there are reports of manufacturers cheating WHQL this way, although I am hoping there is some other explanation. There isn't anything obvious in the registry, and strings doesn't find anything useful in the binary.
The manufacturer shipped a pdb with private symbols along with the driver. Is there any way I can poke around using the pdb file without actually running the driver and using a kernel debugger? I would also appreciate any other tips for working out issues like this.
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以使用出现蓝屏时应创建的 system32 文件夹中的 memory.dmp 文件。将其与私有 pdb 文件一起加载到 Windbg 中应该可以让您稍微浏览一下。
You can use the memory.dmp file in system32 folder that should be created when there is a bsod. Loading this up in windbg along with the private pdb file should allow you to poke around a little.