valgrind --tool=memcheck --leak-check=full  --show-reachable=yes -v ./docParser sample.doc

Memcheck 工具主要检查下面的程序错误:

  • 使用未初始化的内存 (Use of uninitialised memory)
  • 使用已经释放了的内存 (Reading/writing memory after it has been free’d)
  • 使用超过 malloc分配的内存空间(Reading/writing off the end of malloc’d blocks)
  • 对堆栈的非法访问 (Reading/writing inappropriate areas on the stack)
  • 申请的空间是否有释放 (Memory leaks – where pointers to malloc’d blocks are lost forever)
  • malloc/free/new/delete申请和释放内存的匹配(Mismatched use of malloc/new/new [] vs free/delete/delete [])
  • src和dst的重叠(Overlapping src and dst pointers in memcpy() and related functions)

下面是常用的错误输出信息

Conditional jump or move depends on uninitialised value(s)
诊断信息A 程序行为可能与策略预期不一致,请仔细核查!
诊断信息B XXXgz导致的警告,主要是因为机器字节对齐填充了没有初始值的数据导致!
对应两个警告信息,如果是调用XXX_gzip引出的警告,则输出信息B,否则信息A。

Warning: set address range perms: large range
诊断信息 此警告可忽略!
只对应一条信息。

Syscall param *(buf) points to uninitialised byte(s)
诊断信息 请确认此系统函数所使用的参数是否需要初始化!
只对应一条信息。

Invalid read of size *
诊断信息 读取无效内存地址错误!
只对应一条信息。

Process terminating with default action of signal (): dumping core
诊断信息 程序执行期间出core!
只对应一条信息。

Use of uninitialised value of size
诊断信息 请确认此内存地址不需要初始化!
只对应一条信息。

* bytes in * blocks are possibly lost in loss record * of *
诊断信息A 内存可能存在泄露!
诊断信息B glibc内部的内存泄露的问题,可以忽略!
对应两条信息,如果发现valgrind警告的调用堆栈出现pthread_creat则返回信息B,否则返回信息A。

(* direct, * indirect) bytes in * blocks are definitely lost in loss record * of *
诊断信息 内存泄露错误!
只对应一条信息。

Invalid write of size
诊断信息 写入无效内存地址错误!
只对应一条信息。

Mismatched free() / delete / delete[]
诊断信息 请确保malloc的内存用free释放,new的内存用delete释放!
只对应一条信息。

Source and destination overlap in cpy(, *)
诊断信息A 致命错误,程序行为不符合策略预期!
诊断信息B 行为未定义,完全依赖glibc的实现,不具有可移植性!
对应两条信息,如果复制的源地址小于目的地址则返回信息A,否则返回信息B。

valgrind 常见错误提示信息相关推荐

  1. 大数据引擎启动时常见错误汇总

    1.端口号被占用(java.net.BindException) 不论是Flink,还是Kafka,Zk,hadoop之类的,正常启动,jps进程却未显示错误,先查看启动日志.例如: 端口号被占用的错 ...

  2. WCF项目中出现常见错误的解决方法:基础连接已经关闭: 连接被意外关闭

    原文:WCF项目中出现常见错误的解决方法:基础连接已经关闭: 连接被意外关闭 在我们开发WCF项目的时候,常常会碰到一些莫名其妙的错误,有时候如果根据它的错误提示信息,一般很难定位到具体的问题所在,而 ...

  3. Hibernate常见错误

    Hibernate常见错误 1.错误:object references an unsaved transient instance - save the transient instance bef ...

  4. JAVA编程常见错误集锦

    本文转自:http://hi.baidu.com/zzcc_8/blog/item/23f83a43dda0611f72f05d02.html 项目中遇到的错误(c9bcf64c) sql错误 找不到 ...

  5. VB速查大全(数据库、表格及报表编程) ★ VB错误处理,ado常见错误,VB数据类型等,网上有很多教程是错的,强烈建议看此文

    ■ 学新的编程语言先仔细看该语言案例教程或从入门到精通的书.对具体语句.函数及可使用对象不了解或忘记的,可在该编程语言的"参考手册"中检索. <如果资料为电子书时,即使不知道 ...

  6. c语言程序中的错误可分为,C语言程序常见错误与调试方法(1)

    <C语言程序常见错误与调试方法(1)>由会员分享,可在线阅读,更多相关<C语言程序常见错误与调试方法(1)(17页珍藏版)>请在人人文库网上搜索. 1.C语言程序常见错误与调试 ...

  7. 电子邮件使用中常见错误提示解释

    电子邮件使用中常见错误提示解释--发信.收信和退信 引言: 在使用电子邮件的过程中经常会出现邮件无法 发出,发出后被退回,或者无法收取邮件的提示.邮件系统的错误提示常常是英文的,对 于普通用户来说正确 ...

  8. Golang 要注意的陷阱和常见错误

    原文: 50 Shades of Go: Traps, Gotchas, and Common Mistakes for New Golang Devs 翻译: Go的50度灰:新Golang开发者要 ...

  9. Python运行的17个时新手常见错误小结

    Python运行的17个时新手常见错误小结 1 发布时间:『 2017-11-04 11:20 』     帖子类别:『人工智能』  阅读次数:8803 (本文『Python运行的17个时新手常见错误 ...

最新文章

  1. Python---图像读写操作(scipy)
  2. ggplot01:R语言坐标轴离散、连续与图例离散连续的区分
  3. pb打印选择页数_要想打印不卡纸,卡纸原因要了解
  4. python是一种解释类型的编程语言-Python入门你要懂哪些?这篇文章总算讲清楚了...
  5. android代码 根据黑名单拦截短信,滴滴将小范围测试短信报警 司、乘两端同步试运行“黑名单”...
  6. 做了一个网页,顺便录制了一个视频,大家看看高端不
  7. 让我们来了解一下:操作系统和平台相关性
  8. linux如果一个目录具有执行,Linux操作系统部分复习题答案
  9. Android.os.SystemClock
  10. 【洛谷P1833】樱花
  11. ghostblog主题_读Ghost博客源码与自定义Ghost博客主题
  12. 学习C++,知识点太多记不住怎么办?
  13. (63)SPI外设驱动分频模块(二)(第13天)
  14. python键盘监听
  15. (转)日语时间的表示法
  16. EL表达式判断条件要写在${}内
  17. 创业者防坑手册:面对强大的资本力量,你该如何正当防卫?
  18. 360无线wifi路由器连接到服务器,luyou.360.cn如何登录360路由器
  19. vue刘海屏兼容组件
  20. 热点综述 | 单细胞+空间转录组的整合分析方法总结

热门文章

  1. Unknown opcode
  2. Telerik Reporting之生成报表
  3. 新建Silverlight文件的方法
  4. POS消费机C#例子代码
  5. JDBC+Servlet+JSP整合开发之25.JSP动作元素
  6. [JavaScript]只需一行代码,轻松搞定快捷留言功能
  7. 微软发布架构师期刊阅读器
  8. m3u8文件在手机上用什么软件看_如何用手机从一个网页下载视频
  9. 0179-Largest Number( 最大数)
  10. TensorFlow2-神经网络基础