VMware Communities
vkatsman
Contributor
Contributor

Integrated Virtual Debugger question

The project that currently concerns me requires me supporting not only several branches of code and not only several version of software but targeting work with several versions of the software my project is working with. Unfortunately, different versions of the target software do not allow side-by-side installation.

In attempt of avoiding multiple instances of the same development environment (same version and service packs for Visual Studio, same setup of plug-ins and development tools,same versions of all dependencies etc.) I am thinking to use VM for target software and have remote debugging on those VMs while doing development from a single development machine - a single development place.

However, moving to Vista, I am using a VM with XP Pro for development purposes.

Understanding that I cannot run VM from inside VM, can I still debug application on one VM while staying connected to Visual Studio running on another VM?

Tags (1)
0 Kudos
1 Reply
grossag
VMware Employee
VMware Employee

You can certainly do this, however you won't be able to use the Visual Studio Integrated Virtual Debugger to accomplish this because as you said, using the plugin would require running a VM inside of another VM.

Instead, you are going to have to manually do what the plugin automates: remotely debugging on another machine on your network. In this case, the "machine" will actually be another VM that is running on your host. Here's some steps I would suggest in getting started up (it's been a while, so I may be missing some...feel free to Google "Remote Debugging in Visual Studio 2005" for more information):

1) Set up each of your VMs that you will be remotely debugging on using the directions provided in the Visual Studio Integrated Virtual Debugger manual. There is a chapter on this topic and it is a good list of the things you need to do to get the Windows security settings set up to allow for remote debugging. Also, if you need the .NET Framework 2.0 or something like that installed in your VM to allow your program to run, do that. Finally, make sure that the user accounts that you are loggin in as in each VM have the same user name and password. You may also need to be on the same domain (or lack thereof); this sometimes seems to matter and sometimes doesn't seem to matter.

2) Install the Remote Debug Monitor in each guest or install it on the host and share it with each guest. Basically, before you start remotely debugging, the Remote Debug Monitor will need to be running in the VM you want to debug inside of. How you do this is up to you.

3) Share the folder that your project compiles the code into in on your XP VM as a network share. This will give each of your other VMs access to the executable file, which is needed. Note here that if you were to compile your project in your XP VM on a shared folder it may be a bit slower, but then you could also share that shared folder with each other VM and that would allow you to debug.

Sorry if any of my language was confusing. Feel free to post with any follow-up questions you have to the steps I listed. And also, sorry if you were hoping for a short answer and then got this long one Smiley Happy

0 Kudos