2009-08-15 45 views
1

当我在调试和我处理一些遗留代码或一些框架有时我需要获得包含特定值的属性。例如,我知道我在UI上放置了153个,我需要知道它放在那里后的位置。这将有助于理解这个框架的很多事情。这是一个用法,问题是如何做到这一点?有什么办法来知道什么属性/字段包含一些价值?

+0

如果我们有一些想法的编程语言和IDE你在工作,它可能会有所帮助 – 2009-08-15 15:12:35

+0

对不起,IDE - VS 2005和2008年唐'知道该怎么做,在任何人。 – 2009-08-15 15:36:00

回答

0

我不知道你指的是一个“reverse engineering”的要求
在哪里,你没有源代码级调试和
不能使用符号引用找到相关领域。

如果确实如此,并且您知道可能发生更改的一般地址范围,则可以在更改前后拍摄存储区的快照。

以这种方式会找到地址的两个text快照的数据的差异。


另一种方法是在地址范围内运行搜索以找到输入的值。

  • 这是容易发生取决于改变值的“简单”假阳性
    153,例如,是非常困难的,以搜寻)
  • 如果输入可以在程序存储器被改变,同样会造成假阴性

某些调试环境的支持数据观察点。
但这些通常不适用于大范围。

+0

好吧,其实我想知道如何通过提供值来获取属性/字段名称。例如:在一些使用遗留代码的项目中,我有一个复杂的类层次结构。我需要了解我的输入值之一是为了理解它是如何工作的。如果我有这个工具,并且只写153,我就会得到这个工具。它向我展示了属性/字段值等于153的所有类。 – 2009-08-15 19:08:22

0

嗯,是的,你已经回答了你自己的问题与您的标记:您将一个调试器,并检查值。

+0

不,问题是如何在当前调试环境下获取此值所在的类属性/字段。如何找到它?如果唯一的方法是手动的,想象一下你需要检查多少属性才能找到你需要的属性。 – 2009-08-15 19:04:43

相关问题