遇到值时中断

时间:2012-10-01 14:25:09

标签: c++ visual-studio-2010 debugging breakpoints

好吧,我在这里走出困境,因为我不确定这个功能是否存在,但如果不存在,它可能应该存在。这就是我所知道的:

代码中的某处,读入了一大块数据。我正试图找到代码的那一部分。 (我们在这里谈论一个巨大的代码库 - 在近300个项目中成千上万的文件。甚至无法开始猜测代码行 - 每个文件2000-3000并不罕见,所以这是真正的针/ haystack territory。)我知道这个数据包含一个特定的可识别字符串。我希望能够为任何内存块设置为该字符串时设置断点。

我不知道的是:

我不知道该字符串存储在何处,甚至是否存储在任何地方,因此我无法在内存地址或变量上设置断点。我所知道的是,至少在短暂的一段时间内(可能不超过一个函数的范围,甚至只是for循环的一次迭代),这个值存在于某处。代码可能会忽略字符串本身,并且只存储附带的数据,但字符串必须在某些时候存在于内存中。

我显然无法设置常规断点,因为如果我知道该断点的位置,我已经拥有了我需要的东西,并且没有必要采取这样的措施。我甚至不知道这个代码出现在哪个项目中,更不用说该文件中的文件或函数了 - 这就是我想要弄清楚的。

这只是一厢情愿的想法吗?或者有一些简单的方法可以做这种事情吗?

1 个答案:

答案 0 :(得分:1)

使用Microsoft的Process Monitor(SysInternals)监视文件I / O.如果您正确配置了符号(您的和Microsoft),则Process Monitor将显示与每个文件I / O操作关联的堆栈跟踪。