常见内存问题
内存泄漏 detected memory leaks
简单地说,内存使用过后,不再使用了,但未释放,就会产生内存泄漏
memory leak
写内存越界
memory overrun
同一块内存释放两次
double free
内存释放后使用
use after free
释放内存的参数为非法值
wild free
访问未初始化内存
access uninitialized memory
读取非法内存,本质上也属于内存越界
read invalid memory
caller访问一个指针,该指针指向callee的栈内内存
use after return
栈溢出
stack overflow
AddressSanitizer 工具常见报错
- AddressSanitizer: heap-use-after-free on address
free了之后再次调用会报这个错,解决方法是调用了之后再free