我刚迁移到Windows Ultimate 64 SP1,因为我的系统硬盘崩溃了。我安装了Visual Studio 2005 SP1以及Microsoft推荐的所有补丁。我终于从我的SCM获得了我的源代码,但现在调试并没有停止在我设置的任何断点上。这只是一个简单的Winforms应用程序,没什么特别的。

我做的第一件事就是将构建目标更改为x86。没有骰子。然后我去下载了针对x64的调试工具,仍然没有骰子。我将调试器设置为中断处理和未处理的所有异常。没有骰子。

我一直在关注Google搜索结果,但也没有运气。我已经在这3天了,没有运气。有没有人以前处理过这个问题?

<强>更新

项目都设置为Debug(x86)。

调试会话开始时,断点保持正常。

我已经重新安装了,但也没有用。

我以管理员身份运行并关闭了UAC。

我使用“附加到进程”附加到项目,我能够以这种方式进入代码。我希望找出为什么它不是自动附加,以避免每次都必须手动执行此操作。

有帮助吗?

解决方案

这被列为 VS2005在Vista上的已知问题(Via MSDN):

  

标题:即时(JIT)调试   提升的过程将失败

     

说明:提升的流程不能   由VS 2005进行JIT调试。这个   包括系统进程,例如   IIS和应用程序启动   选择&#8216;以管理员身份运行&#8217;。

     

解决方法:调试器必须是   在调试器之前手动附加   将捕获未处理的异常或   用户断点   (System.Diagnostics.Debugger.Break,   __debugbreak等。)

其他提示

几个问题。

当您的代码启动时,断点是否变成一个空圆圈,其工具提示表明断点不会被命中?或者它是否成为一个带有工具提示的完整圆圈,表明它附加到的过程?

您可以尝试手动附加调试器以查看是否有任何牵引力。只需启动应用程序,一旦它运行,请转到调试菜单并选择“附加到进程”; - 选择运行您应用的流程,然后点击“附加”。

我运行没有问题的Vista64 - VS2008。

我在Windows Server 2008 x64和Vista x64 SP1上使用具有相同补丁级别的Visual Studio 2005,没有任何问题。

您是否以管理员身份运行它?当所有其他方法都失败时,请尝试卸载并重新安装。

确保项目设置为调试编译而不是发布编译,因为发布编译不包含调试信息。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top