字典键值改变时的数据断点

问题描述 投票:0回答:1

假设我有一本字典:

var dict = new Dictionary<string, string>();
dict["foo"] = "bar";
dict["abc"] = "def";

有没有办法设置断点或数据断点来监控“foo”的值?这意味着

dict["foo"] = "bar2";
应该触发这样的断点,但
dict["abc"] = "def2";
不应该。

我认为它可以通过使用数据断点来完成,或者通过使用属性设置器并在那里放置一个普通断点来完成,但我不确定是否可以在不子类化的情况下完成

Dictionary<string, string>()

c# breakpoints
1个回答
0
投票
  1. 取消选中

    Enable Just My Code
    ,在调试选项中选中
    Enable Source Link support
    Suppress JIT optimization on module load

    这将使您能够调试核心源代码

  2. dict["foo"] = "bar";

    处添加断点
  3. 调试你的程序并等待它在此时中断。
    F11 介入。
    如果一切正常,您将进入 setter 内部,以便您可以在该行使用条件

    "foo".Equals(key)
    设置断点。

  4. 现在您可以删除第一个断点并再次调试程序。

© www.soinside.com 2019 - 2024. All rights reserved.