luv*_*ere 5 c# variables trace
如何在运行时在C#中跟踪变量的值?我对调试器通过执行步骤跟踪变量时提供的功能感兴趣,只是我需要从代码中调用它.某种键值观察,但对于各种变量(局部,类,静态等),不仅仅是属性.因此,基本上,当变量的值发生变化时会收到通知.
您的工作假设是调试器可以跟踪变量更改。不可以。
对于非托管代码是可能的,处理器具有允许设置数据断点的专用调试寄存器。最多提供三个。当它看到特定内存位置被写入时,它会生成硬件中断。然而,这个非常有用的功能在托管代码中不可用。垃圾收集器与它完全不兼容,它移动对象,给它们另一个地址。
托管调试器确实支持断点上的“命中时”条件,允许您将信息转储到输出窗口。然而,这需要一个断点,它不能由变量值的变化触发。它还确实减慢了代码执行速度,因为调试器在执行条件之前实际上进入了中断状态。
放置此类断点的明显位置是在属性设置器中。这是您在代码中实现此功能所需要的。您可以在该 setter 中执行任何操作,例如使用 Trace 类。