Can't wait to play around with the new Visual Studio 2010. There are some cool stuff coming, including a concurrency troubleshooting tool called CHESS. Many a times, I've felt like I was at the edge of insanity trying to track down a concurrency bug. This tool may come in handy.
From Microsoft:
CHESS:
CHESS is a tool for finding and reproducing Heisenbugs in concurrent programs. CHESS attaches to a concurrent program and takes complete control over the thread scheduling. This allows CHESS to drive different runs of the program along different schedules. On finding an error, CHESS can replay the erroneous interleaving tremendously reducing the effort required to reproduce concurrency bugs. In addition to assertions in the program, CHESS can find deadlocks, livelocks, and dataraces. CHESS is integrated with the Visual Studio Team System (VSTS) and works for both managed/native programs.
CHESS has been applied to several Microsoft products, such as PLINQ, TPL, ConcRT, CCR, Dryad, and Singularity.