调试内核驱动程序时调试器中的无源消息

时间:2019-04-04 08:57:02

标签: c debugging kernel driver kmdf

我一直在调试由我们公司开发的PCI-Express卡的软件。有时,软件开始“滞后”,收集的样本更少,甚至停止收集一段时间。 (大约半秒,不是恒定值)

我们有一个内核模式驱动程序,在软件和PCI卡之间起作用。我开始查看驱动程序,并在收集停止时,在调试器(VS调试器立即窗口)中看到一条奇怪的消息,我没有放在那里。它也不在驱动程序的完整源代码中,因此必须由某些Windows内核功能发送。消息:

核心EH:设备0请求8EE6EA58 [0x35]在活动状态= 0x0时在插槽(0x6)上超时。

我在Google上找不到任何可用的东西。有没有人遇到此错误消息?我需要找出它的含义和原因。

PCI-E卡使用PLX8311芯片,这可能与问题有关,因为带有不同芯片的卡的先前版本(PLX9056)不会产生此问题。但是我不确定,这就是为什么我不将其放在他们的论坛上。

不确定是否有帮助,但是: 我使用以下代码从内核发送消息:

#define LocalDebugPrint(l, ...) DbgPrintEx(DPFLTR_IHVDRIVER_ID, l, __VA_ARGS__)

侧面问题:是否可以在Visual Studio调试器立即窗口中获取组件名称(此处为DPFLTR_IHVDRIVER_ID)?

0 个答案:

没有答案