2010-09-06 56 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