内存断点又称为“数据断点”,貌似vs是从2008才开始有的,gdb出现得比较早。
gdb的内存断点又称之为Watchpoint,它可以监视:
- 某个变量的值
- 某个地址所指向的数据。例如, `*(int *)0x12345678'会监视它指向的4字节数据。
- 任一复杂的表达式,比如 `a*b + c/d'。
设置watchpoint的命令是watch,格式是
watch
[-l
|-location
] expr [thread
threadnum] [mask
maskvalue]
另外还有 rwatch (表达式被读时中断)和 awatch(表达式读或写中断)。