我使用gdb的“watch”命令来跟踪一个地址的值。但是,gdb仅在值更改为其他值时停止。因此,无论何时为地址的值分配新值,如何停止该过程,因此指定相同值的条件也将停止该过程。
答案 0 :(得分:1)
因此,只要为地址的值分配了新值,就可以停止该过程 ...(可能与旧值相同)。
GDB目前无法做到这一点。
虽然在GDB中实现这一点并不困难,但是很少需要这样做(程序状态是而不是更改,所以为什么要关心将相同的值写入内存中呢?在以前?)。
每当读取值时,您都可以使用rwatch
来中断。这将为您提供所需断点位置的超集,但如果变量读取很多,并且很少写,rwatch
可能不是一个好的解决方案。