VPC and the BSOD

I'm so pleased. Someone did something exciting and dangerous with the profiler. In case you're not reading the newsgroups, an intrepid customer tried to profile on a Virtual PC, and discovered that it only leads to pain and misery via the BSOD.

So don't do that.

Seriously, is this something people want to do? I mean, VPC is about the coolest thing ever, but we do use hardware performance counters by default, and VPC is not exactly a real life environment for performance analysis and measurement. Still, maybe y'all have good reasons for this.

At the very least, we'll fix that BSOD thing. I mean, how 1990's is that?

This is an excellent time to point out that the profiler does in fact install a kernel-mode device driver in order to play with the hardware counters on your Intel and AMD processors. There are some fun implications from this:

  • You need to be running as a user who can install a kernel-mode device driver. We currently install the driver dynamically when starting the profiling monitor, and we uninstall it when the monitor shuts down.
  • The kernel-mode device driver is not signed. If you're one of those cheeky folks who has unsigned drivers shimmed through verifier, you may discover the joy of a forced BSOD if you exercise the profiler in new interesting ways we hadn't thought of. This is not all bad; just make sure you send us the error report after you've rebooted.
  • If you're running on Intel Pentium I or AMD K6* (or anything older), expect no love from the sampling based profiler, and some uphill battles with instrumentation. I may post hints on this latter point if a few people speak up about legacy hardware.