gcc自带内存泄漏、内存越界检测工具 - asan

清泛原创

asan内存异常检测工具,功能类似valgrind,不过是gcc自带的原生工具,使用起来非常简单,只需要链接时加上 -lasan 即可。(加上-fsanitize=address编译选项可以检查出更详细的内存问题,不加也能编译通过也能执行检查

测试代码如下:
#include <iostream>
#include <string.h>
using namespace std;

int main() {
	void* p = malloc(5);
	memcpy(p, "123456", 6);

	return 0;
}
运行结果如下:

报告非常详细,内存异常发生的行号都能看到,也可以识别出来野指针。强烈建议后台服务上线前进行一次内存检查,可以提前避免一些莫名其妙的崩溃问题。

gcc asan valgrind 内存泄漏 内存越界

分享到:
评论加载中,请稍后...
回到顶部