c# – 在VS10中调试时不会打中断点

我正在处理一个C#和Silverlight项目,每一次我遇到一个问题,我的断点在我调试时不再受到打击.在编辑器中,它们不会变得透明,所以我知道正确的代码被加载并被运行.

一个例子是:

我有一个getter和setter的值,它被绑定到一个控件.当我在设置器中放置一个断点,并且从控件中更改Value的值时,断点不会被击中.

我知道一个IIS重置修复了这个问题,但我想知道的原因.有没有人找到类似的行为?如果有人能够指出我将会非常感激的可能的原因.

解决方法

Visual Studio 2010中有一个选项:

>工具 – >选项…
>调试 – >一般
>“超越属性和运算符(仅管理)”

确保没有选中.这假设断点是一个坚实的红色圆圈,表示VS已经找到调试符号.

或者,这些代码元素可以用各种调试属性之一进行装饰,即DebuggerStepThroughAttribute,DebuggerNonUserCodeAttribute和DebuggerHiddenAttribute.这些可能会阻止调试器进入该方法,即使有断点.

当然,如果您调试的代码已经被优化,它可能看起来像是缺少行.我不知道如果您尝试断开已被优化的线路,会发生什么.

如果断点已经变得空洞(不是很红),那么Visual Studio可能找不到代码的调试符号.

如果重置修复了问题,也许被调试的代码与原始源文件/符号之间存在差异,则有一个选项可以使其不那么严格:

>与上述相同的选项区域.>“要求源文件与原始版本完全匹配”

相关文章

在项目中使用SharpZipLib压缩文件夹的时候,遇到如果目录较深,则压缩包中的文件夹同样比较深的问题。比...
项目需要,几十万张照片需要计算出每个照片的特征值(调用C++编写的DLL)。 业务流程:选择照片...
var array = new byte[4]; var i = Encoding.UTF8.GetBytes(100.ToString("x2"));//...
其实很简单,因为Combox的Item是一个K/V的object,那么就可以把它的items转换成IEnumerable<Dic...
把.net4.6安装包打包进安装程序。 关键脚本如下: 头部引用字符串对比库 !include "WordFunc....
项目需求(Winform)可以批量打印某个模板,经过百度和摸索,使用iTextSharp+ZXing.NetʿreeSp...