【问题标题】:WPF/WCF application cause blue screen when PC is undockedWPF/WCF 应用程序在 PC 未停靠时导致蓝屏
【发布时间】:2011-10-11 13:34:48
【问题描述】:

我正在尝试解决蓝屏问题。

我们有一个 .Net 4.0 WPF PRISM 应用程序。这个应用程序的一个特别之处是它托管了一个 WCF 服务,我们使用它来与客户端(Thinkpad PC、Windows XP)进行通信。

重现问题的步骤是:

  • 打开应用程序
  • 关闭应用程序
  • 拔下电脑

蓝屏消息类似于“检查驱动器上是否有空间”。

上述步骤每次都“有效”,已在多台 PC 上进行了测试。有人知道是什么原因造成的吗?

如果我从 Visual Studio 运行应用程序,我不会收到此错误。我只有在运行已安装的应用程序时才会收到错误消息。

【问题讨论】:

  • 笔记本电脑、Undocking 和 BSOD 在某些硬件上齐头并进。它几乎不认为这是 WPF-WCF 问题。 forums.lenovo.com/t5/X-Series-ThinkPad-Laptops/…
  • 但是我去年每天对接和取消对接这台机器10次没有蓝屏,只有当我运行这个应用程序时
  • 您是否尝试过使用其他 WPF/WCF 应用程序?也许是 DirectX/Graphics 驱动程序...

标签: c# wpf wcf prism bsod


【解决方案1】:

调查蓝屏来源的典型步骤:

  1. 打开内存转储设置。在 Win XP 中,这是在系统属性 - 高级 - 启动和恢复 - 设置中。至少选择内核内存转储。默认情况下,内存转储保存在 %SystemRoot%\MEMORY.DMP。重启电脑。

  2. 重现蓝屏。等待内存转储完全写入。重启电脑。

  3. 压缩 %SystemRoot%\MEMORY.DMP 文件并转到此页面:http://www.osronline.com/page.cfm?name=analyze。单击浏览并选择压缩的内存转储文件。点击上传转储。

  4. crush dump 分析的结果显示在 WEB 浏览器中。最重要的信息是导致蓝屏的驱动程序的名称。

拥有 WinDbg,可以在 WinDbg 中打开 memory.dmp(打开故障转储)并输入 !analyze -v(而不是 3,4)。

如果这是第三方驱动程序,我认为您唯一能做的就是将故障转储分析(可能还有转储文件本身)发布给驱动程序供应商。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多