Visual Studio 2010 has one great feature. I works like this (I simplified a little): you turn on debugging, wait for program to crash, load debugging log and you can walk through state of each variable in program, go back and forward in time - almost like working on live machine.
Microsoft used to call this Historical debugger, but now (with beta 2) same feature can be found under IntelliTrace branding.
Of course, this is only available in most expensive version of Visual Studio - Ultimate. Buyers of all other version can just drool. I know I will.