tags:

views:

166

answers:

3

We have a .Net application consisting of mixed managed and unmanaged code. We have a number of reports of users getting BSOD while using our application. These blue screens happen on different versions of Windows. Mostly XP but one user claims it happens on Windows 7. Some users see it happening when doing one thing, other see it happening when doing something completely different. Of course, we cannot reproduce the problem.

Needless to say, I'm stumped. A user mode application shouldn't be able to blue screen the OS so we are running into a bug in a common kernel space application, perhaps buggy antivirus software?

Does anyone have any tips on how to track something like this down? We don't have access to a computer where this is happening so we wouldn't be able to hook up a kernel debugger or anything like that.

+1  A: 

About the only thing you can do is convince users to send you data:

  • Crash dumps. Post a walkthru on your website showing how to enable full/mini dumps and where to find them. Here's a KB article with the gory details -- probably want to simplify this with screenshots & so on.
  • Installed software. Best to find a tool that collects this info for them; humans aren't especially reliable or thorough. WinAudit looks good.
  • Installed hardware & drivers. (ditto)
Richard Berg
I know how to generate a minidump when my application crashes, but how do you generate a minidump when the OS crashes? I mean, the OS has crashed so there's nothing to write out the dump.
mhenry1384
Assuming it's truly an OS crash (kernel panic) and not someone tripping on the power cord, you can have the kernel itself do some primitive error handling. It's been in NT since the very beginning, far as I know. I've updated my answer with an additional link.
Richard Berg
I'm embarrassed that I didn't know the OS created minidumps when it bluescreens (by default). I just tried reproducing using http://www.osronline.com/article.cfm?article=153 and it does.
mhenry1384
A: 

Can you get a copy of the crash/mini dump?

If so you can use WinDbg and SOS to figure out where the code is at when it blows up.

Tess Fernandez has a good blog on managed debugging with low level tools.

GrayWizardx