【gdb之watch命令】
什么是watchpoint?
watchpoint,顧名思義,其一般用來觀察某個變量/內存地址的狀態(也可以是表達式),如可以監控該變量/內存值是否被程序讀/寫情況。
在gdb中可通過下面的幾種方法來設置watchpoint:
(gdb) watch
在指定變量/內存地址(表達式)expr設置一個watchpoint。一但expr值有變化時,將停住程序。
(gdb) rwatch
當expr被讀時,停住程序。
(gdb) awatch
當expr被讀或被寫時,停住程序。
(gdb) info watchpoints
列出當前所設置了的所有觀察點。
在使用watch時步驟如下:
1. 使用break在要觀察的變量所在處設置斷電;
2. 使用run執行,直到斷點;
3. 使用watch設置觀察點;
4. 使用continue觀察設置的觀察點是否有變化。
參考: