VMware Workstation

It’s like a VCR for your VM: Execution Record / Replay in Workstation

Dear Workstation Team,

Please don’t tease us. Where is the VAssert video demo so we can Digg it?

Sincerely,
All the software developers in the world

Link: Enhanced Execution Record / Replay in Workstation 6.5 | Workstation Zealot.

So, what’s so cool about that? Well, one advantage of
execution record / replay is its interactivity. For instance, let’s say that
you decided while replaying a session that you would have liked to do something
different then what was done at record time. Maybe you want to alter some of
your actions half-way thorough the recording, or change the settings of some
software running on the VM. Well, you can “take the VM live” as we call it –
essentially, stop replaying and start interacting “live” with it from exactly
the point of your choice. I guess one could think of the recorded session as
prolonged super-snapshot of the VM over a long period of time, which allows you
access and modification of said VM at any point during this time. 

And if that’s not exciting enough for you, let me give you
another example of this feature’s power. As everyone who writes code knows, code
tends to have bugs. And some bugs, like cockroaches, tend to be worse then
others. Anyone who has ever had to deal with a deadlock, a race condition, or
any timing-related issue for that matter knows just how annoying and difficult these
problems can be. You are sitting there all pumped up and ready to fix the
problem, but Murphy’s Law guarantees that it just refuses to even happen for
you in the first place – despite anything your try. But sure enough, the second
someone else uses your application – or, better yet, you try to demo it – there
it is. Sigh. And you are just left wishing you could somehow magically capture
the bug as it happens, to be able to investigate it later… But wait, VMware has
just right kind of magic! Record the execution of your VM, catch the issue in
action once, and then have eternal access to it with the virtual debugger.