當我在調試和我處理一些遺留代碼或一些框架有時我需要獲得包含特定值的屬性。例如,我知道我在UI上放置了153個,我需要知道它放在那裏後的位置。這將有助於理解這個框架的很多事情。這是一個用法,問題是如何做到這一點?有什麼辦法來知道什麼屬性/字段包含一些價值?
回答
我不知道你指的是一個「reverse engineering
」的要求
在哪裏,你沒有源代碼級調試和
不能使用符號引用找到相關領域。
如果確實如此,並且您知道可能發生更改的一般地址範圍,則可以在更改前後拍攝存儲區的快照。
以這種方式會找到地址的兩個text
快照的數據的差異。
另一種方法是在地址範圍內運行搜索以找到輸入的值。
- 這是容易發生取決於改變值的「簡單」假陽性
(153
,例如,是非常困難的,以搜尋) - 如果輸入可以在程序存儲器被改變,同樣會造成假陰性
某些調試環境的支持數據觀察點。
但這些通常不適用於大範圍。
好吧,其實我想知道如何通過提供值來獲取屬性/字段名稱。例如:在一些使用遺留代碼的項目中,我有一個複雜的類層次結構。我需要了解我的輸入值之一是爲了理解它是如何工作的。如果我有這個工具,並且只寫153,我就會得到這個工具。它向我展示了屬性/字段值等於153的所有類。 – 2009-08-15 19:08:22
嗯,是的,你已經回答了你自己的問題與您的標記:您將一個調試器,並檢查值。
不,問題是如何在當前調試環境下獲取此值所在的類屬性/字段。如何找到它?如果唯一的方法是手動的,想象一下你需要檢查多少屬性才能找到你需要的屬性。 – 2009-08-15 19:04:43
- 1. 有什麼辦法來設置一些/所有「子」 - 項目的屬性/屬性?
- 2. 有什麼辦法來知道哪個Class實例,NSData對象包含?
- 3. PHP:怎麼知道有什麼文件包含一個名爲
- 4. 有什麼辦法來知道哪些存儲過程通過我的代碼?
- 5. 有什麼辦法與一些素數
- 6. 得到一個沒有價值,我不知道爲什麼
- 7. 有沒有什麼辦法來檢查類的屬性在C#
- 8. 有沒有什麼辦法知道什麼時候動畫在FragmentTransactions中完成
- 9. 有沒有什麼辦法知道什麼時候安裝了crontab?
- 10. 爲什麼一些包括衛兵有定義的價值?
- 11. EF - 爲什麼不包含屬性
- 12. 有沒有辦法知道激活的QAction是什麼?
- 13. 有沒有什麼辦法知道在javascript中擴展屏幕
- 14. 有沒有辦法知道返回的對象是什麼?
- 15. 有什麼辦法可以知道報告是否有訂閱
- 16. 有什麼辦法來檢查包含數字的ConstantExpression是否爲負數?
- 17. 如何獲取字段名稱是什麼字段有價值?
- 18. 不知道爲什麼價值沒有改變
- 19. 變量沒有得到價值,我不知道爲什麼
- 20. 有什麼辦法來說明一個實體類的字段不是一個持久屬性?
- 21. 有什麼辦法來問一個方法的名字?
- 22. 有什麼辦法可以告訴哪個屬性的值來自?
- 23. 有沒有什麼辦法來使用pexpect知道派生進程的pid
- 24. 有什麼辦法可以包含所有整數?
- 25. 有什麼辦法從容器中知道服務名稱(swarm)?
- 26. 有什麼辦法可以知道DataGridViewCell是否可見?
- 27. 有什麼辦法可以知道調用者類名嗎?
- 28. 有什麼辦法知道媒體播放器是否開始
- 29. 爲什麼值輸入對象的屬性不具有價值?
- 30. 這些JDatePicker屬性有什麼作用?
如果我們有一些想法的編程語言和IDE你在工作,它可能會有所幫助 – 2009-08-15 15:12:35
對不起,IDE - VS 2005和2008年唐'知道該怎麼做,在任何人。 – 2009-08-15 15:36:00