我的.net程序导致了BSOD

fis*_*ead 7 .net c# winforms

当我的Windows winform应用程序运行时,我得到一个蓝屏.似乎只有一个用户才能获得此功能.我不知道此时在哪里寻找问题.然而,我使用我在CodeProject上发现的一些代码来捕获鼠标事件和键盘事件http://www.codeproject.com/KB/cs/globalhook.aspx这可能是它吗?

我正在寻找有关如何捕获此错误的建议.它只发生在40个用户计算机上,所以我有点困惑 - 特别是因为这个用户是主要的利益相关者.

更新:我们还有一个事件 - 共同点是对接端口.用户使用相同的对接端口.

Joh*_*ers 12

您的代码不可能导致 BSOD.如果你没有在内核模式下运行,那么BSOD不是你的错(如果你原谅双关语).

OTOH,我看到托管代码触发了一段内核模式代码中的错误.这个bug然后引起了BSOD.就我而言,内核模式代码是一个VPN软件的一部分,它想要了解您运行的代码,以便决定是否允许您访问VPN.代码使用内核模式挂钩来执行此操作,并且它们有一个由加载大量程序集触发的错误.

显然,他们从未在Visual Studio运行时测试过他们的代码.它在运行时加载加载项等,从而触发了它们的bug.一段简单地将大量程序集加载到AppDomain中(然后卸载AppDomain并重新启动)的C#代码也触发了它们的bug,因此它不是Visual Studio的问题.

这个故事的寓意是有人需要查看崩溃转储并弄清楚哪个内核模式软件导致崩溃,然后你可以弄清楚系统中发生了什么以触发内核模式软件崩溃.