2010-10-22 87 views
2

我试图调试一个ASP.NET 3.5应用程序,我最近从VS 2005迁移过来的。(这使用了Crystal Reports 11 Release 2,但我不知道是否会导致我遇到问题,或者不)。该应用程序使用Active Directory进行身份验证。我将在VS 2008中打开应用程序,然后按F5键开始调试。不久之后,VS 2010的Just-In-Time调试器弹出并询问我是否想(a)调试(b)取消调试的w3wp.exe。为什么当我试图调试VS 2008应用程序时,VS 2010调试器会弹出?

咦?为什么VS 2010会出现?我没有运行。我不在。我在VS 2010中没有按F5。我在VS 2008中,然后按下运行/调试。这是怎么回事;为什么VS 2010会干扰?

回答

5

编辑:对不起,我不得不编辑我的答案。当涉及两个版本的VS时,结果会变得更复杂一点。希望这个编辑更准确。

如果您转到工具>选项>调试> Just-in Time,您可以启用/禁用特定版本的VS的JIT调试。如果您启用多个VS作为JIT调试器,则可以在VS Jit调试器启动时选择它们或将其中一个设置为默认值。我假设VS2010在安装过程中替换了VS2008 JIT调试器,因此要重新启用它,您需要启动VS2008并转到菜单并启用它。我必须禁用,然后启用它才能使其正常工作。

如果您已经设置了其他调试器,例如WinDbg作为您的JIT调试器,这是将以下注册表键HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug\Debugger更改为指向所需的调试器的问题。请注意,如果您运行的是64位Windows,那么在Wow64部分也有一个影子条目。 This guide有其他详细信息。

+0

谢谢Brian。我找到了注册表项指向的vsjitdebugger.exe文件。这是VS 2010.很酷,但VS 2008调试器的名称是什么? – Rod 2010-10-22 17:11:44

+0

@Rod:请看我修改后的答案。我以前的回答并没有涵盖所有选项。对于那个很抱歉。 – 2010-10-22 17:44:33