当我在调试和我处理一些遗留代码或一些框架有时我需要获得包含特定值的属性。例如,我知道我在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