2010-09-06 53 views
41

对于我当前的嵌入式应用程序,我试图将GDB观察点放在固定的内存地址。GDB:观察点固定地址

作为一个例子,我的应用程序更新了以下地址:0x10793ad0。为了确保这部分代码被破坏的价值,我想

手表0x10793ad0

即使GDB不打印这之后的任何错误,它不能在执行过程中,打破即使我验证该值在执行开始和结束之间得到修改。

问题:

a)我真的可以把手表放在一个固定的地址吗?我在网上没有遇到过这样的例子。 b)这是正确的方式,还是我错过了什么?

回答

62

在地址上设置观察点的正确方法是手表* 0x10793ad0。看到gdb doc

+0

Yup发现了它。谢谢! – 2010-09-07 09:20:41

+8

如果因为想要在本地作用域之外观察变量而使用固定地址,请改用'watch -l localptr-> member'。 – 2015-02-04 19:01:05