首页 > 系统相关 >【valgrind】软件调试工具-valgrind内存调试工具

【valgrind】软件调试工具-valgrind内存调试工具

时间:2023-04-18 22:15:29浏览次数:44  
标签:tar int 3.12 valgrind 内存 工具 调试

valgrind工具安装

Ubuntu环境安装

sudo apt install valgrind

源码编译

1.源码下载

http://valgrind.org/downloads/valgrind-3.12.0.tar.bz2

2.valgrind编译安装

tar -jxvf valgrind-3.12.0.tar.bz2
cd valgrind-3.12.0
./configure
make
sudo make install

valgrind运行分析程序

编写测试代码(内存泄漏)

#include <stdio.h>
#include <stdlib.h>

int main()
{
   int *array = malloc(sizeof(int));   // 申请后不释放,内存泄漏4个字节
   return 0;
}

编译

gcc main.c -g -o test     # -g表示gdb(不加也没关系)

执行valgrind分析

valgrind --tool=memcheck --leak-check=full ./test

输出信息

img

标签:tar,int,3.12,valgrind,内存,工具,调试
From: https://www.cnblogs.com/Wangzx000/p/17331344.html

相关文章

  • 关于PythonNet与TensorFlow的调试技巧
    1.使用TensorFlow2.x版本训练的模型,在导入时容易报错,不要跨版本训练或者调用模型。报错内容通常定位到restore方法。2.PythonNet调用py文件报错时,右键该文件执行后报错内容会一闪而过,可以右键使用Python编译器(Idel)打开,错误会详细显示,且内容与编辑器一样。3.TensorFlow1.9最......
  • 【Java技术指南】「Unirest编程专题」一起认识一下一个“灰常”优秀的Http工具,让Http
    Unirest-Java是一个轻量级的HTTP客户端库,它提供了简单易用的API,可以帮助Java开发人员快速地发送HTTP请求和处理响应。在本文中,我们将深入探讨Unirest-Java的技术细节和使用方法。Unirest-Java的优点简单易用:Unirest-Java提供了一组简单易用的API,可以帮助Java开发人员快速地发送HTTP......
  • 分享一个很好用的代理转发工具:rinetd
    rinetd介绍:安装与使用:https://zhuanlan.zhihu.com/p/530875131注意事项:1、如果发现配置中的端口在进程中没找到,那就是配置填写错误导致的,笔者就遇到过,端口写个了66666,结果就翻车了,切记按照规则来操作使用场景1、需要测试网络中断的场景,模拟网络异常2、测试负载均衡,等等......
  • 分享一个开源的windows安卓投屏工具,scrcpy
    看到scrcpy可能很多人会以为是大名鼎鼎的Scrcpy(一个十分强大的多线路爬虫框架),sorry今天分享的主角不是他,而是他:github地址:https://github.com/Genymobile/scrcpy废话不多说,下载windows版本开搞,推荐选择64位下载完毕后解压,然后双击scrcpy.exe然后不出意外的话,你就可以看到这......
  • gdb 调试技巧:定位程序卡死问题
     gdb调试技巧:定位程序卡死问题 最近遇到一个程序卡死的问题,借助gdb轻松定位,供大家参考。遇到程序卡死不退处,可能不知道卡死在什么地方,如果程序非常简单,也许printf大法就可以很快定位。但是对于大型程序,尤其是一些框架程序,printf大法可能就力不从心了。实际的程序......
  • AI测试101:测试AI系统的实用技巧&ML和AI自动化工具
    基于人工智能的系统,也称为神经网络(NNNeuralNetworks),和其他应用程序一样是"系统",因此需要测试。本文将指导你测试AI和基于NN的系统,并理解相关概念。测试人工智能系统的不同之处是什么?"传统"的软件是建立在内部确定的算法基础上的。例如,对于将摄氏度转换为华氏度的系统,它将使......
  • stm32文件系统读写操作调试总结
    一问题最近使用到了文件系统的读写,中间遇到了一些问题值得深思。 二源码解析创建文件:FRESULTres;do{sprintf(filename,"/sensor_signal/sensor_%d.bin",file_num++);mprintf("filenameis:%s\n\r",filename);res=f_open(&file,fi......
  • 【愚公系列】2023年04月 .NET CORE工具案例-DeveloperSharp的使用(数据库)
    (文章目录)前言DeveloperSharp是一个研发中大型项目必备的系统平台。也是一个低代码平台。它主要包括了如下一些功能:基于Sql语句、存储过程、事务、分页的数据库操作。并几乎支持市面上所有种类的数据库。图片操作。裁剪、缩放、加水印。http请求调用(Post与Get)高效分页We......
  • 【内附源码和文档】基于C++14异步蒙特卡洛工具函数
    Simple-Monte-Carlo-Tool-Function这是一个使用C++实现的简单的异步蒙特卡洛算法工具函数C++标准:C++14使用autores=MonteCarlo(sample_nums,check_sample_funtion,generate_sample_funtion,…args);doublep=res.get();std::cout<<p<<std::endl;sample_nums:需要生成的样......
  • 计算出生到现在多少天的记事本工具
    对于绝大多数的人和家庭来说,新生命的到来总是令人期待,这本身就是一件非常有意义的事情。对于很多新手父母来说,能够记录孩子出生的天数非常重要,因为孩子每个阶段需要注意的事情都不一样,哪个阶段需要多补充钙、哪个阶段需要打什么疫苗、哪个阶段需要去医院体检等,都是需要注意的。不......