2009-08-15 67 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

相關問題