我刚迁移到Windows Ultimate 64 SP1,因为我的系统硬盘崩溃了。我安装了Visual Studio 2005 SP1以及Microsoft推荐的所有补丁。我终于从我的SCM获得了我的源代码,但现在调试并没有停止在我设置的任何断点上。这只是一个简单的Winforms应用程序,没什么特别的。
我做的第一件事就是将构建目标更改为x86。没有骰子。然后我去下载了针对x64的调试工具,仍然没有骰子。我将调试器设置为中断处理和未处理的所有异常。没有骰子。
我一直在关注Google搜索结果,但也没有运气。我已经在这3天了,没有运气。有没有人以前处理过这个问题?
更新
项目都设置为Debug(x86)。
调试会话开始时,断点保持正常。
我已经重新安装了,但也没有用。
我以管理员身份运行并关闭了UAC。
我使用“附加到进程”附加到项目,我能够以这种方式进入代码。我希望找出为什么它不是自动附加,以避免每次都必须手动执行此操作。
答案 0 :(得分:1)
几个问题。
当您的代码启动时,断点是否变成一个空圆圈,其工具提示表明断点不会被命中?或者它是否成为一个带有工具提示的完整圆圈,表明它附加到的过程?
您可以尝试手动附加调试器以查看是否有任何牵引力。只需启动应用程序,一旦运行,请转到调试菜单并选择“附加到进程” - 选择运行应用程序的进程,然后单击“附加”。
我运行没有问题的Vista64 - VS2008。
答案 1 :(得分:1)
这列为known issue for VS2005 on Vista (Via MSDN):
标题:即时(JIT)调试 提升的过程将失败
说明:提升的流程不能 由VS 2005进行JIT调试。这个 包括系统进程,例如 IIS和应用程序启动 选择“以管理员身份运行”。
解决方法:调试器必须是 在调试器之前手动附加 将捕获未处理的异常或 用户断点 (System.Diagnostics.Debugger.Break, __debugbreak等。)
答案 2 :(得分:0)
我在Windows Server 2008 x64和Vista x64 SP1上使用具有相同补丁级别的Visual Studio 2005,没有任何问题。
您是否以管理员身份运行它?当所有其他方法都失败时,请尝试卸载并重新安装。
答案 3 :(得分:0)
确保项目设置为调试编译而不是发布编译,因为发布编译不包含调试信息。