您好,欢迎来到百家汽车网。
搜索
您的当前位置:首页valgrind的说明使用和原理

valgrind的说明使用和原理

来源:百家汽车网

编译

#gcc -g -o test test.c

 

内存检查
#valgrind --tool=memcheck --leak-check=yes --show-reachable=yes ./test

 

Memcheck 能够检测出内存问题,关键在于其建立了两个全局表。

  1. Valid-Address 表

检测原理:

  • 当要读写内存中某个字节时,首先检查这个字节对应的 A bit。如果该A bit显示该位置是无效位置,memcheck 则报告读写错误。
  • 内核(core)类似于一个虚拟的 CPU 环境,这样当内存中的某个字节被加载到真实的 CPU 中时,该字节对应的 V bit 也被加载到虚拟的 CPU 环境中。一旦寄存器中的值,被用来产生内存地址,或者该值能够影响程序输出,则 memcheck 会检查对应的V bits,如果该值尚未初始化,则会报告使用未初始化内存错误。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- baijiahaobaidu.com 版权所有 湘ICP备2023023988号-9

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务