c – Valgrind没有输出

前端之家收集整理的这篇文章主要介绍了c – Valgrind没有输出前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
对于我试图为我正在处理的类之一编写代码方法,我试图从文件中读取double值,并使用这些数值在程序内动态设置一些数组.

我想检查一下,至少到了我来的地步,我是否有内存泄漏.然而,启动valgrind只是挂起,valgrind似乎工作得非常重,因为cpu加载很高,但是即使我已经等了一段时间也没有输出.我已经翻阅了手册的页面,但找不到有用的东西.我编译了valgrind-3.8.0并立即使用它.而且我按照我一直以来的方式解雇它

valgrind --leak-check=yes --log-file=valgrind_log ./binary_to_execute args_if_any

我无法在谷歌搜索中找到这个悬而未决的问题.关于这种悬挂行为的原因的任何想法?

编辑1:这是应用程序的time命令的定时输出

47740

real    0m1.299s
user    0m1.116s
sys     0m0.176s

编辑2:这是一个与我遇到的问题大致相同的链接,

A message with a similar problem

编辑3:我注意到有趣,如果我试图读取的文件大小很大,则会出现此问题,如果文件的大小相对较小,则不会发生此挂起,这对我来说也很奇怪.

解决方法

一个大文件表明还有更多工作要做.所以valgrind需要更多时间. Valgrind真的很慢.

您可以使用世界上最好的调试器轻松调试它:printf()(只有半开玩笑.)只需在主循环的每次迭代之前或之后打印一些东西.如果它没有出现,valgrind真的挂在某个地方.周到地放置你的printf()语句应该显示它挂起的确切位置(如果它实际挂起而不是慢.)

猜你在找的C&C++相关文章