This is an idea whose time has come. I believe that this kind of things will replace logging. Logging clutters up code, slows down performance always (even if to see if it's turned on), and even when used copiously never seems to actually capture the state that's needed. Recorded debugging is the future! Mu ha ha ha
Now about VS 2010's feature. What I've seen so far seems to indicated that the user can't place their own "diagnostic events" (breakpoints) anywhere they need. Without this, the feature suffers from the same problem as logging... the capture points are arbitrary. I would like to set a bunch of breakpoints, each with a set of watches (expecially with expressions like I can normally), then be able to send this capture data to any location running my code (e.g. live running apps), capture the data, then send it back and walk through it in the IDE. It would be one of the biggest advances in programmer productivity in years!
Database Consulting Group