我有个客户是谁告诉我,我的程序(简单的用户--土地的程序,没有一个驱动程序)是撞他的系统 蓝色的屏幕上的死亡 (死机).他说他从来没有遇到与其他程序,他能重现它很容易与地雷。

该死机的类型CRITICAL_OBJECT_TERMINATION(0x000000F4)与目的类型 0x3 (的过程):一个进程或螺纹至关重要的系统的操作意外地退出或已终止。

可以一个简单的程序可以负责一个死机(甚至在Vista...)或者他应该检查硬件或操作系统的安装?

有帮助吗?

解决方案

最简单的方法导致死机的用户的太空计划(据我所知)来 杀死的窗子系统的过程 (csrss.exe).这并不需要硬件故障,也不是一个错误的核心或一个驱动程序,它只需要有管理员权限1.

你是什么代码到底在做什么?错误信息("一个进程或螺纹至关重要的系统的操作意外地退出或已终止。") 听起来像一个重要的系统过程终止。也许你杀了一个进程,并无意中得到了错误的过程?

如果以某种方式可能你可以尝试获取存储器转储从该客户。使用 调试工具,用于Windows 然后你可以进一步分析这一倾倒作为描述 在这里,.

1Windows不会阻止你 这样做的 因为它 "跟管理员控制他们的计算机".因此,这是通过设计并不是一个错误。读雷蒙德的文章和你会看到为什么。

其他提示

仅仅因为你的程序是不是司机并不意味着它不会的使用的驱动程序。

在理论上,你的代码应该不能BSOD计算机。这取决于操作系统,以确保不会发生。根据定义,这意味着有问题的地方无论是在硬件还是在比你的程序的其他代码。这并不排除有一个在你的代码虽然是一个错误。

短答案是肯定的。长的答案取决于什么是你的程序是假设做,是怎样做的?

通常情况下,不应该。如果确实如此,则必须有

  • Windows 内核中的错误(可能但可能性很小)
  • 设备驱动程序中的错误(不一定在您的程序使用的设备中,这可能会变得非常复杂)
  • 硬件故障

我敢打赌第二个选项(设备驱动程序),但如果您能给我们提供更详细的转储,那将会很有趣。

恩,是的,它可以 - 但对许多不同的原因。

这就是为什么我们在不同的机器,操作系统,硬件测试等。

你有没有设置你的程序有一些要求,并且您的用户跟随他们?

如果你不能自己复制它,并且你的程序不需要管理员运行,我会有点怀疑

  • 该系统硬件的稳定性
  • 该系统的病毒/恶意软件状态。

如果您可以物理访问客户端设备,则可能值得使用最新的扫描程序运行完整的病毒扫描,并运行完整的病毒扫描程序。 内存测试 在上面。

我曾经有一个看起来很稳定的系统,除了某些程序无法在其上运行(有时会使盒子崩溃)。Memtest 显示我的 RAM 有一些坏位,但它们位于更高的模拟中,因此只有当程序尝试使用大量 RAM 时才会访问它们。

没有,那是相当多的定义。你可以说最糟糕的事情是,用户应用程序的土地有可能“引发的”在Windows错误或驱动程序的bug。但现代的桌面操作系统是其自身的完整性负全部责任;蓝屏是一个正直的失败。因此,OS负责,并且仅OS。

一个BSOD错误,只有你的应用程序可能暴露的(例如:作为驱动程序实现的病毒扫描程序,执行从扇区0xFFFFFFFF的,一个部门,这种一台机器上正好包含应用程序的一个DLL文件时崩溃)

我有问题时,无需停止全部过程和BD连接退出我的应用程序时,程序结束(I坠毁整个IDE)。我把在“停止和断开连接”代码中的“终止”我的主要形式是“Form_Closed”事件,问题解决了WA,我不知道您是这种情况。

另一个问题是,如果用户正试图访问您的应用使用(数据库,硬件,插座等)相同的资源。问他/她对哪些应用程式,他/她是当发生BSOD使用。

一个病毒不能被丢弃。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top