We’ve just put out VMware Workstation 6.0 beta 3. As per the ancient traditions set forth by the VMware founders, we decided to make this release awesome. I’ll go over a couple of my favorite, but for the rest, read the release notes.
- Record/Replay
Workstation 6 beta 3 is the first release to support our new Record/Replay functionality that we mentioned at VMworld. Essentially, it allows for making a recording of (almost) everything that happens to a VM between the time you hit Record and the time you hit Stop. This is not a movie recording, but more of an execution recording. You can play it back however many times you like.
What is this good for? Well, have you ever tried testing a program only to encounter a bug that you just can’t reproduce? Maybe there was some memory corruption that happened under some specific case that you just can’t seem to diagnose. Or maybe it’s a network packet that came in in some form that your application didn’t expect. Under normal circumstances, you’d have to do a lot of guesswork in order to find out what exactly happened. Far too often, it’s just too hard to reproduce the bug and it goes unfixed for some time.
Now imagine instead that you’re testing the program in Workstation and, before your testing, you hit Record. You attempt the test and the program crashes in some weird manner. No problem. Hit Stop and replay the recording. Just before the crash occurs, stop the playback and attach a debugger. Messed up? Didn’t find the cause? Replay that recording again.
It should be pointed out that these recording logs take up a lot of space, so you don’t want to keep too many around. Also, the feature is very experimental, so don’t be surprised if there are problems. Some things are not yet supported, like 64-bit guests, Virtual SMP, and certain devices (USB, for example). We plan to change the UI around a little bit, and it’s likely that future Workstation releases will improve the usability and usefulness of this feature.
- Debug guest apps from the host using Eclipse
We now offer the ability to debug applications inside the guest from Eclipse on the host. This provides for a nice sandbox for the application. Your app can crash the computer during a debug session and your host won’t even feel it! There’s a good blog post from the developer of the Eclipse support discussing this feature and some of its many uses.
- Fullscreen improvements
A previous beta introduced the new combined Fullscreen mode. We used to have separate Fullscreen and Quick Switch buttons on the toolbar, each useful for certain purposes. The new combined mode is closer to Quick Switch, but until now has missed the nice aspect of Fullscreen where the image would actually by the size of the monitor (due to changing the screen resolution).
Now, when in fullscreen, you have the option of changing the view mode (from the drop-down toolbar). The guest resolution can be changed to match the host’s screen resolution, the guest can be stretched (emulating the original fullscreen), or the guest’s screen can be centered on the monitor.
- Tab dragging
The Linux UI now supports tab dragging, thanks to the new support in GTK+ 2.10 and some hacks to get around some bugs. Combined with the multiple window support we put in a previous beta, you can now have as many windows open as you like and drag and drop VM tabs between them. While not a major feature itself, it is a nice usability thing we’ve wanted to do for a while now.
- Many many bug fixes
The new feature list may not be huge, but at this point in the beta cycle there shouldn’t necessarily be a lot of new features. So what have we been doing? Why, fixing just tons of bugs of course. A lot of crashers have been fixed, work has gone into improving multiple monitor support, the UI has improved in various areas, and code has been cleaned up. All in all, we’re in good shape, and will be mostly staying in bug fix mode until the final release to ensure that the result is a product we can all be proud of.
I should also point out that if you are not a Workstation user but have been contemplating a purchase, you don’t need to wait for Workstation 6. You can now buy Workstation 5.5 and get a free upgrade to 6. This only applies to new purchases, so if you’ve been a Workstation 5 user for a while, you’ll have to purchase 6 separately.
so vmware implemented revirt essentially?
Damned chip, don’t you see that you guys are making waaaaayyyy too cool stuff. I mean, guys .. debugging my applications and more specifically the race conditions by simply recording the entire computer’s execution path: that’s truly .. wow. An excellent idea. I mean. Yes. YES!
Next step: in stead of core files, making it “easy” for our users to do this, and to securely share that “execution recording” with us, developers. I wonder whether things like removing sensitive information from the execution path is doable. Many users might not trust all the unknowns of that execution path with us developers. Yet their recording would be extremely useful to spot many of the racy bugs that they spot.
This is really awesome dudes. You guys truly are the best at what you do.
There are so many applications for this, especially for software developers. Really I mean, I think you guys need to involve communities of software developers into developing useful things with this. Standardize it or specify it? Cooperate with software developers who work in the field of debugging software and development tools (and don’t forget the free software ones while doing this).
I can understand that the sales department would want to cash on a feature like this. I think, however, that the only way to truly sell this feature is to let the development-tool developers integrate with it.
They will come up with much more possibilities and applications for this.
Just wanted to say howdy. I also work at VMware. Just started about 2 months ago in tech support. I caught your blog post on planet.gnome. Thought I’d say hey.
Shaya: There are differences from revirt, but yes, the idea is the same.
– Revirt is not full system, it’s UML only (AFAICT). VMware is full-system, and this has big implications – including being able to run windows and whatever else.
– Revirt has the debugger baked in already, VMware has not yet put out the gdb work needed. But the idea is to get there.
(Yes, I work for vmware, whatever I say is my opinion etc etc).