Visual studio 2008 为什么VisualStudio2008会跳过我的断点?
我正在用SP1运行VisualStudio2008。调试应用程序时,它将跳过断点 例如,我有两行代码,每行调用一个方法。我将在两行上都设置一个断点。我将运行它一次,它将在第一个断点停止,但不会在下一个断点停止。我会再次运行它,它将击中第二个,而不是第一个 我已尝试清理解决方案并进行重建Visual studio 2008 为什么VisualStudio2008会跳过我的断点?,visual-studio-2008,breakpoints,Visual Studio 2008,Breakpoints,我正在用SP1运行VisualStudio2008。调试应用程序时,它将跳过断点 例如,我有两行代码,每行调用一个方法。我将在两行上都设置一个断点。我将运行它一次,它将在第一个断点停止,但不会在下一个断点停止。我会再次运行它,它将击中第二个,而不是第一个 我已尝试清理解决方案并进行重建 我的解决方案中确实有多个项目。尝试删除该项目的.SUO文件,然后重新生成。假设符号加载不是问题,您可以在方法本身上放置一个BP,并验证它确实被调用了两次(通过检查调用堆栈).确保您正在使用调试配置构建应用程序。如
我的解决方案中确实有多个项目。尝试删除该项目的.SUO文件,然后重新生成。假设符号加载不是问题,您可以在方法本身上放置一个BP,并验证它确实被调用了两次(通过检查调用堆栈).确保您正在使用调试配置构建应用程序。如果断点没有显示为红色实心气泡,而是显示为红色圆圈,则它将被禁用。如果是带有黄色警告标志的红色圆圈,则您所连接的进程尚未加载该模式的符号。确保您正在尝试调试正确类型的代码(托管/本机/T-SQL/脚本)。符号文件不兼容 您的符号文件(.pdb)可能与源代码不同步。这种情况的一个常见症状是:
- 在代码行上的断点处停止
- 逐步完成代码
- 看到调试指针停在代码的空行处
- 单步执行一个条件(即if块)会使if和else案例看起来都在运行
- 有些代码是完全优化的,你不能破坏它们
long numObjects;
断点通常不会正确设置(尽管它通常会移动到下一行“实际”代码)。但是,如果您的代码行初始化了变量:
long numObjects = 5;
断点可以设置。我遇到了这个问题,必须安装修补程序。有关详细信息,请参见我在MS Visual Studio 2008 SP1中遇到了相同的问题。PDB文件与可执行文件匹配,所以这不是问题
问题是
视觉辅助
。我在“工具|加载项管理器”中关闭了它,之后跳过断点就没有问题了。因此关闭Visual Studio中的所有加载项并安装最新的SP(现在是SP1) 除了上述方法之外,我还遇到了另外两种不命中断点的情况:
- 该源来自不同的目录树。如果重命名了目录,则会发生这种情况,因为路径已硬编码到pdb文件中。当我交换了一个
和主干
目录,并打开了另一个目录中的文件时,我发现了这一点分支
- 如果exe仍在后台运行,如果应用程序没有干净地退出或
mspdbsrv.exe仍然附加在它上,有时会发生这种情况,请检查您的进程列表。重新启动VisualStudio通常会解决此问题
不喜欢Win 7上的VS同样,删除VS可执行文件的兼容模式下运行可以解决问题 我也遇到了同样的问题,安装VS 2010 SP1解决了这个问题。我在SQL 2008中破坏了Intellisense的一个副作用,您可以在这里阅读:我猜您将项目更改为优化代码,因此没有可用的调试信息(包括使用断点的能力) 要更正此问题:打开您的项目,请单击菜单->项目->(您的项目)属性…,单击编译选项卡,单击高级编译选项,然后: -取消选择“启用优化” -在生成调试信息列表中,选择“完整”。 -单击“确定”,关闭并保存所有内容。 现在应该可以工作了 MFR>对于网站,如果MSV的一个单独实例正在运行同一个网站,则可能发生这种情况 只需停止原始实例或停止IIS Express即可
MSV似乎启动了第二个网站,但没有抱怨在同一端口上运行的先前存在的网站。可能浏览器中显示的页面实际上是第一个网站。并且您的调试配置将/Od作为优化(这几乎总是这样,但有时会因意外或其他原因而更改)。这些建议对我很有效(而其他任何建议都不起作用)!谢谢大家!@我并不感到惊讶;发生这种情况的原因有很多,我的解决方案解决了一个特定的问题。@GeorgeStocker是的。。。我正在努力解决这个问题: