gpt4 book ai didi

c# - 如何在 C# 中跟踪运行时的变量?

转载 作者:太空狗 更新时间:2023-10-29 23:04:09 24 4
gpt4 key购买 nike

如何在 C# 中跟踪变量值在运行时的变化?当我通过执行步骤跟踪变量时,我对调试器提供的相同功能感兴趣,只是我需要从我的代码中调用它。某种键值观察,但对于各种变量(本地、类、静态等),不仅是属性。因此,基本上,当变量的值发生变化时会收到通知。

最佳答案

您假设调试器可以跟踪变量变化。不能。

非托管代码是可能的,处理器有专用的调试寄存器,允许设置数据断点。最多提供三个。当它看到一个特定的内存位置被写入时,它会产生一个硬件中断。然而,这个非常有用的功能在托管代码中不可用。垃圾收集器与它完全不兼容,它移动对象,给它们另一个地址。

托管调试器确实支持断点上的“命中时”条件,允许您将信息转储到输出窗口。然而,这需要一个断点,它不能由变量值的变化触发。它还确实减慢了代码执行速度,因为调试器实际上在执行条件之前进入了中断状态。

放置此类断点的明显位置是在属性 setter 中。这就是您在代码中实现此功能所需要的。您可以在该 setter 中做任何您想做的事情,例如使用 Trace 类。

关于c# - 如何在 C# 中跟踪运行时的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2912183/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com