STM32F103C8T6最小系统板硬件设计全攻略:从原理图到调试
2026/10/6 15:42:02
Electric Fence 不仅能检测内存越界(overruns),还能检测内存下溢(underruns)。内存下溢是指进程向内存块之前的地址写入数据,这种错误可能在指针运算时发生,例如:
char *buf = malloc(1024); ... char *ptr = buf + 10; ... *(ptr - 11) = '\0';要使用 Electric Fence 检测这种下溢,需要设置环境变量EF_PROTECT_BELOW:
$ EF_PROTECT_BELOW=1 ef ./underrun错误会引发SIGSEGV信号,从而定位到产生错误的代码行。