1

我们有一个由混合托管和非托管代码组成的 .Net 应用程序。我们有许多用户在使用我们的应用程序时收到 BSOD 的报告。这些蓝屏出现在不同版本的 Windows 上。大多数是 XP,但一位用户声称它发生在 Windows 7 上。一些用户在做一件事时看到它发生,另一些用户在做完全不同的事情时看到它发生。当然,我们无法重现该问题。

不用说,我被难住了。用户模式应用程序不应该能够蓝屏操作系统,所以我们在一个常见的内核空间应用程序中遇到了一个错误,也许是有错误的防病毒软件?

有没有人有关于如何跟踪这样的事情的任何提示?我们无法访问发生这种情况的计算机,因此我们无法连接内核调试器或类似的东西。

4

3 回答 3

1

https://serverfault.com/questions/238/how-to-diagnose-a-windows-blue-screen

于 2009-12-17T23:15:50.463 回答
1

您唯一能做的就是说服用户向您发送数据:

  • 崩溃转储。在您的网站上发布一个演练,展示如何启用完整/迷你转储以及在哪里可以找到它们。这是一篇包含血腥细节的知识库文章——可能想通过屏幕截图等来简化这一点。
  • 安装的软件。最好找到一个为他们收集这些信息的工具;人类并不是特别可靠或彻底。 WinAudit 看起来不错
  • 已安装的硬件和驱动程序。(同上)
于 2009-12-17T23:16:28.903 回答
0

你能得到崩溃/迷你转储的副本吗?

如果是这样,您可以使用WinDbgSOS来确定代码崩溃时的位置。

Tess Fernandez有一篇关于使用低级工具进行托管调试的好博客。

于 2009-12-17T23:18:56.383 回答