On my system I got installs of VS2003 and VS2010. In which VS2003 was installed first.
Trying to catch unhandled exception with vs2003 results in JIT debugger which offers only vs2010.
This article will explain how to solve this prob.
In the past few day I ran into frustrating scenario where I needed to debug Web Services with Visual Studio .net 2003.
Unfortunately, the VS JIT Dialog that pops up only displayed VS 2010 to debug with.
After plucking bit of hair and googling the web, found those articles:
In which they advised to change setting from within the VS (Options > JIT Debugging) and modifying the registry,
that didn’t helped either.
Figuring out what are the changes that VS is doing in the registry while changing the debug engines in the VS > Options, I found that there is a file called:
vsjitdebugger.exe (VS2010 – C:\WINDOWS\system32\vsjitdebugger.exe)
Which is defined to run when exception occurs or on System.Diagnostings.Debug.Break().
And the file below is responsible to display the dialog with vs2003:
vs7jit.exe (VS2003 – C:\Program Files\Common Files\Microsoft Shared\VS7Debug\vs7jit.exe)
So, to make VS suggest the vs2003 debugger you have to take this “vs7jit.exe” file
rename it to “vsjitdebugger.exe”
backup the original “vsjitdebugger.exe” (sys32)
and replace it in sys32.
(Whenever you wish to rollback, just use you backup-ed file).
The only disadvantage of this is that when ever an exception occurs it will suggest only vs2003.