The 32-bit version of Visual Studio Remote Debugging Monitor (MSVSMON.EXE) cannot be used to debug 64-bit processes …

I’ve gotten used to manually starting IISExpress instead of using [F5] in Visual Studio 2010 to start a debugging session. Whenever I need to do server-side debugging, I manually attach Visual Studio’s debugger to the IISExpress.exe process (Tools/Attach to Process…/Available Processes/IISExpress.exe/Attach). I just personally find this to be more efficient; it seems to facilitate a faster test/debug cycle (I also use FireFox’s FireBug for client-side debugging instead of Visual Studio, but that’s another post all together).

I recently had to slick my development laptop and reinstall Windows 7 Ultimate and all my development tools. When I had everything installed again, everything was running smoothly… until I tried to manually attach Visual Studio 2010 to the IISExpress.exe process. I got this very (non) informative error message:

Unable to attach.  The 32-bit version of the Visual Studio Remote Debugging Monitor (MSVSMON.EXE) cannot be used to debug 64-bit processes or 64-bit dumps. Please use the 64-bit version instead.

And it also killed the IISExpress.exe process at the same time (Visual Studio: “If I can’t attach to it, NOONE WILL!!! MOO HA HA HA!”).

Of course, my first response was to dive head-first into Google (Google, how do I love thee, let me count the search results…). The general consensus seemed to be that I should manually run a 64-bit version of the Visual Studio Remote Debugging Monitor. Well, I never had to do that before I slicked and reinstalled my machine… I’d rather not accept that answer.

After more time spent wading around in Google’s search results, it occurred to me that I had never (since the slick & reinstall) actually just hit F5 to let Visual Studio start the debugger and attach to the process itself. So I did, fully expecting the same error. Low and behold, it started the debugger and attached to the IISExpress.exe process with no problems [shock]. I stopped the debugging session, manually started IISExpress, manually attached Visual Studio to the IISExpress.exe process… and it worked.

Apparently Visual Studio needed to do some “super-secret internal configuration” the first time IT started the debugger and attached to IISExpress to make it work. Once it did that, then manually attaching to IISExpress works like a champ!

Advertisements
This entry was posted in Programming. Bookmark the permalink.

3 Responses to The 32-bit version of Visual Studio Remote Debugging Monitor (MSVSMON.EXE) cannot be used to debug 64-bit processes …

  1. Pretty much my situation except I didn’t re-install anything, it just stopped working. This solution fixed it. Thanks!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s