linux下使用valgrind排查内存泄漏

您所在的位置:网站首页 linux常驻内存 linux下使用valgrind排查内存泄漏

linux下使用valgrind排查内存泄漏

2023-09-29 13:43| 来源: 网络整理| 查看: 265

安装 yum install valgrind -y 说明

1)概念

Valgrind是一套Linux下,开放源代码(GPL V2)的仿真调试工具的集合。Valgrind由内核(core)以及基于内核的其他调试工具组成。内核类似于一个框架(framework),它模拟了一个CPU环境,并提供服务给其他工具;而其他工具则类似于插件 (plug-in),利用内核提供的服务完成各种特定的内存调试任务。 Valgrind包括memcheck、Callgrind、Cachegrind、Helgrind、Massif等工具。 memcheck用来检测程序中出现的内存问题,所有对内存的读写都会被检测到,一切对malloc()/free()/new/delete 的调用都会被捕获。

2)命令行

valgrind --tool=memcheck --leak-check=full --show-leak-kinds=all --undef-value-errors=no --log-file=log ./可执行程序名 –tool=memcheck:使用 memcheck 工具检测内存错误,包括使用未初始化的变量、读写越界等;–leak-check=full:全面检测内存泄漏,不仅仅检测未释放的内存,还会检测处理时出现的一些问题;–show-leak-kinds=all:显示所有的内存泄漏信息;–undef-value-errors=no:不检查未定义的值错误;–log-file=log:将日志信息输出到 log 文件中; 几种内存问题 申请内存多次释放 示例 #include #include #include using namespace std; void MyTest() { char* p = (char*)malloc(sizeof(char)*10); delete[] p; cout


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3