c# - 如何找到一个值分配给哪个变量?

标签 c# .net visual-studio debugging variables

我正在调试旧的 C# 应用程序。有一个屏幕,我可以在其中单击以对服务器运行查询并获取结果列表。

问题是我无法弄清楚结果是如何计算的。每个结果都有一个与之关联的 float 显示在屏幕上。假设,为了便于讨论,第一个结果旁边的数字是 123.45。

我猜测数字 123.45 必须在某个时候分配给浮点变量,但如果有数百万行代码,我有很多挖掘工作要做!

因此,我想知道如果我确定数字 123.45 在某个时刻被分配给了一个变量,是否有一些方便的方法可以找到它发生的位置以及它被分配给哪个变量?是否有执行此操作的调试工具?

编辑: 这里的评论者正确地指出我不确定数字是否已分配给变量;我只是猜测它可能是。另外,我熟悉在断点上设置条件,但这对这里没有帮助,因为要设置断点,您必须知道赋值发生在哪一行。

我的问题是,是否有一种方法可以检测在代码的未知 位置分配给未知 变量的特定值。我想找到赋值发生的位置,以及赋值给哪个变量。

第二次编辑: 让我们将其与使用 SQL 事件探查器进行比较。如果我知道值 123.45 被插入到表中或作为参数传递给存储过程,我可以使用 SQL 事件探查器并过滤包含字符串“123.45”的命令的命令文本。这可能会找到用于将 123.45 发送到 SQL 服务器的确切命令。如果我正在寻找要分配给 C# 变量的值,但我不知道是哪一个,我可以做类似的事情吗?

我认为答案很可能是“否”,但我认为这里的某个人或许能够阐明这一点。

最佳答案

如果您可以将范围缩小到更新屏幕的不同 UI 调度程序,则可以添加一个条件来检查该特定值,如下所示:

enter image description here

enter image description here

enter image description here

enter image description here

关于c# - 如何找到一个值分配给哪个变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22794642/

相关文章:

c# - 用户控件内联代码中的调用函数并不总是有效

c# - 如何定义三个状态 bool 值但不是可空值?

visual-studio - 将 C++ 项目从 VS 2005 升级到 VS 2010 Express 时的兼容性问题

c# - 是否可以在运行时修改配置 ConnectionStrings?

java - 如何使用 Java 索引整个硬盘/文件系统?

.net - .Net 中的 Marshal.DestroyStructure 与 Marshal.FreeHGlobal

c# - 错误 : "The codec cannot use the type of stream provided" while reading a . tiff 文件

c++ - 使用 Visual Studio 构建时缺少 log4cplus ad.lib

vb.net - 根据名称隐藏 datagridview 中的列

c# - 一个 ViewModel 在 WPF 中拥有一组 ViewModel 有意义吗?