Saturday, 29 December 2007

Debugging Bluescreen Crashes

One of the most annoying things you can ever have happen with a PC is the dreaded blue screen STOP message (colloquially known as the Blue Screen of Death, or BSOD). Most times on XP you don't actually see the blue screen itself because the system is automatically configured to reboot when it happens. Instead you will see the PC reboot itself.

I have had a lot of trouble with a cluster of PCs that had the latest BIOS and latest OS image loaded on them with all the latest drivers etc. The PCs typically go into low power mode after idling a while and then crash. I don't get many complaints about these PCs because they are in a suite and as long as they are continuously in use they don't get the chance to go into low power mode and crash. The hardware manufacturer suggested maybe I shouldn't flash the BIOS so I reflashed to the version that was on it originally. Still that didn't solve the problems. I had sort of run out of ideas when I found this article on an MSDN blog. Well, great! Why doesn't Microsoft give out this information?

The output of the debugger is highly technical but it gives useful information if you can put up with all the gobbledygook. In this case, it seems to be indicating a problem with a module called abcdrv.dll. I have a fair idea which piece of software is using that driver. It isn't a problem we saw with these PCs before when they were using this same piece of software but for some reason it is. We don't actually use that software now so hopefully just uninstalling it from these PCs will resolve the problem. Note that I only had minidump files to debug from; a full memory dump is probably better where the debugger is concerned.