繁体   English   中英

执行排序时泄漏

Leaks while executing sort

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我有一个包含记录的文件,想通过在项目内部调用sort来对它们进行sort 运行该程序时,一切似乎都很好,但是尝试使用valgrind检查leaks时,我遇到了很多错误。 这是我用来执行的代码:

execlp("sort", "-g", "results", (char*) NULL);

results是我要整理的文件。

并且有错误。

==27691== 
==27691== HEAP SUMMARY:
==27691==     in use at exit: 1,352 bytes in 17 blocks
==27691==   total heap usage: 66 allocs, 49 frees, 44,055 bytes allocated
==27691== 
==27691== 16 bytes in 1 blocks are definitely lost in loss record 1 of 6
==27691==    at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==27691==    by 0x4110C8: ??? (in /usr/bin/sort)
==27691==    by 0x402FFD: ??? (in /usr/bin/sort)
==27691==    by 0x507782F: (below main) (libc-start.c:291)
==27691== 
==27691== 64 bytes in 1 blocks are indirectly lost in loss record 2 of 6
==27691==    at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==27691==    by 0x4110C8: ??? (in /usr/bin/sort)
==27691==    by 0x40D33C: ??? (in /usr/bin/sort)
==27691==    by 0x4046A2: ??? (in /usr/bin/sort)
==27691==    by 0x507782F: (below main) (libc-start.c:291)
==27691== 
==27691== 88 bytes in 12 blocks are still reachable in loss record 3 of 6
==27691==    at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==27691==    by 0x4110C8: ??? (in /usr/bin/sort)
==27691==    by 0x402D66: ??? (in /usr/bin/sort)
==27691==    by 0x507782F: (below main) (libc-start.c:291)
==27691== 
==27691== 128 bytes in 1 blocks are still reachable in loss record 4 of 6
==27691==    at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==27691==    by 0x4C2FDEF: realloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==27691==    by 0x411125: ??? (in /usr/bin/sort)
==27691==    by 0x405D89: ??? (in /usr/bin/sort)
==27691==    by 0x4043C0: ??? (in /usr/bin/sort)
==27691==    by 0x507782F: (below main) (libc-start.c:291)
==27691== 
==27691== 1,024 bytes in 1 blocks are indirectly lost in loss record 5 of 6
==27691==    at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==27691==    by 0x4110C8: ??? (in /usr/bin/sort)
==27691==    by 0x4046D4: ??? (in /usr/bin/sort)
==27691==    by 0x507782F: (below main) (libc-start.c:291)
==27691== 
==27691== 1,120 (32 direct, 1,088 indirect) bytes in 1 blocks are definitely lost in loss record 6 of 6
==27691==    at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==27691==    by 0x4110C8: ??? (in /usr/bin/sort)
==27691==    by 0x40D313: ??? (in /usr/bin/sort)
==27691==    by 0x4046A2: ??? (in /usr/bin/sort)
==27691==    by 0x507782F: (below main) (libc-start.c:291)
==27691== 
==27691== LEAK SUMMARY:
==27691==    definitely lost: 48 bytes in 2 blocks
==27691==    indirectly lost: 1,088 bytes in 2 blocks
==27691==      possibly lost: 0 bytes in 0 blocks
==27691==    still reachable: 216 bytes in 13 blocks
==27691==         suppressed: 0 bytes in 0 blocks
==27691== 
==27691== For counts of detected and suppressed errors, rerun with: -v
==27691== ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)

难道我做错了什么? 我没有分配任何指针,并且似乎没有错误,因为它们没有出现在我的项目中。

问题暂未有回复.您可以查看右边的相关问题.
5 使用 gstbuffer 时内存泄漏

我有一个管道,它从网络摄像头获取数据并进行处理。 对于处理,我需要将该缓冲区拉到 appsink并使用appsrc元素将其推送到管道中。 在推送时,我使用了gst_buffer_new_wrapped函数。 然后每次我推送数据时都会分配一个新的缓冲区。 但是如何释放该内存是问题所在。 我试过 ...

7 Web抓取时内存泄漏

我正在尝试索引所有电影,系列...此网页: www.newpct1.com 。 对于每种媒体内容,我要保存其标题,torrent文件URL和文件大小。 为此,我将NodeJS与cheerio模块(使用诸如sintax的JQuery提取HTML内容)和request(发出请求)一起使用。 代 ...

8 使用NSXMLParser时发生内存泄漏

我在以下代码中处理内存泄漏时遇到一些困难。 使用XCode中的泄漏工具,该工具显示了我用于rss解析的某些代码中的内存泄漏。 我正在使用XCode 4,并在代码底部释放分配。 我尝试将发布添加到每个导致崩溃或程序停止工作的本地部分。 任何意见的帮助,不胜感激! 导致泄漏 ...

9 执行memcpy时内存泄漏

我正在尝试编写一个处理ffmpeg的实用程序。 一旦我需要将图像平面从一个指针复制到另一个指针。 从AVPicture结构到我自己的。 这是一些资料。 我自己的框架构造。 在构造函数中分配的内存,在析构函数中释放的内存 这是执行转换的主循环。 如果带有memcpy的行被注 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM