R – VS2008 Remote Debugging problems from 32-bit Windows XP client to 64-bit Windows 2008 Server

64-bitdebuggingvisual-studio-2008windows-server-2008windows-xp

We are having an issue with remote dedubbing using Microsoft Visual Studio 2008 on a 32 bit XP client machine and a 64 bit Windows Server 2008 Virtual Machine on Hyper-V. When we debug the web project locally we can correctly see the modules loaded in the modules window (Ctrl + Alt + U) with the relevant symbols.

When we try and debug the project remotely and attach to the process we get the yellow triangle in the breakpoint with the message ‘No symbols have been loaded and the breakpoint will not be hit’, also when we look at the modules window (Ctrl + Alt + U) the only dll’s that have been loaded are ntdll.dll, wow64.dll, wow64win.dll and wow64cpu.dll.

Can anyone confirm whether this kind of remote debugging is possible at all or does everything need to be either 32-bit or 64-bit. We have no problems on a 32-bit remote server witht he same projects.

Best Answer

According to How to: Debug 64-Bit Applications on MSDN, 32-to-64 bit debugging should work just fine, as long as you're running the correct version of the remote debugger on the target machine:

If you are debugging remotely, Visual Studio 2005 can run under WOW64 or on a 32-bit machine. You can debug both IA64 and x64 applications, as well as 32-bit applications running under or x64 WOW mode or on 32-bit platforms.

To debug a 64-bit application running on a remote computer, you need to install the 64-bit remote debugger on the remote computer. The 64-bit remote debugger is available on the last disc of your Visual Studio 2005 installation set.

To debug a 64-bit application, you must use the correct version, which is Remote Debugger (x64) on the Start menu.

The correct version of the Visual Studio 2008 Service Pack 1 Remote Debugger can be downloaded directly from Microsoft.