大家好,我是小风哥。内存是C/C++程序员的好帮手。我们通常说的C/C++程序之所以有更高性能的原因之一就是它们可以自己管理内存。然而,计算机科学中没有包治百病的技术。内存问题也给C/C++程序员带来了无尽的烦恼。野指针、数组越界、错误的内存分配或释放、多线程读写导致内存破坏等等,都会导致内存中某段数据被“无意”破坏。此类错误通常很难定位,因为当程序开始出现异常时,通常与真正的问题相去甚远,通常很难用常见的程序调试方法来排查此类问题。由于这种问题一般是内存读写引起的,如果能在某块内存被修改或读取时观察到这个事件就好了。幸运的是,这种技术已经实现了。示例在GDB中,您可以通过添加观察点来观察一段内存。当这段内存被修改时,程序就会停止。至此,我们就可以知道是哪一行代码修改了内存。这个功能是不是很强大?.下面用一个例子来说明一下,有这么一段代码:#include
