【问题标题】:Running valgrind on mac os 10.11 produces error在 mac os 10.11 上运行 valgrind 会产生错误
【发布时间】:2016-08-07 21:23:55
【问题描述】:

当我尝试在一个非常简单的 hello_world.c 程序上运行 valgrind 时,我遇到了很多错误(大多数是相同功能的重复)。我问我的教授谁指出这些函数属于 C++。这是 valgrind 不完全支持 mac os 的问题吗?如果是,任何人都可以建议在 mac os 上替代 valgrind 吗?

==3766==    by 0x7FFF5FC0853B: dyld::loadPhase5(char const*, char const*,
dyld::LoadContext const&, std::__1::vector<char const*,
std::__1::allocator<char const*> >*) (in /usr/lib/dyld)

==3766==    by 0x7FFF5FC0853B: dyld::loadPhase5(char const*, char const*, 
dyld::LoadContext const&, std::__1::vector<char const*, 
std::__1::allocator<char const*> >*) (in /usr/lib/dyld)


==3766== HEAP SUMMARY:
==3766==     in use at exit: 706,517 bytes in 906 blocks
==3766==   total heap usage: 1,541 allocs, 635 frees, 1,282,197 bytes     
allocated
==3766== 
==3766== LEAK SUMMARY:
==3766==    definitely lost: 5,713 bytes in 29 blocks
==3766==    indirectly lost: 5,512 bytes in 24 blocks
==3766==      possibly lost: 5,848 bytes in 127 blocks
==3766==    still reachable: 43,570 bytes in 363 blocks
==3766==         suppressed: 645,874 bytes in 363 blocks
==3766== Rerun with --leak-check=full to see details of leaked memory

【问题讨论】:

  • 如果没有看到您的代码,就不可能肯定地说什么。我们所能做的就是猜测,而且猜测得不好。
  • 另外,“要求我们推荐或查找书籍、工具、软件库、教程或其他场外资源的问题是题外话对于堆栈溢出..."。来自"What topics can I ask about here?"the help pages

标签: c macos valgrind


【解决方案1】:

Instruments 是在 OSX 下使用的分析器,包含在 Xcode 中。

【讨论】:

  • Instruments 没有实现与 valgrind 相同的功能,valgrind 除了“分析”之外还有许多其他用途。这是一个单一的答案,它无助于解释 OSX 上 valgrind 的情况。
【解决方案2】:

@trojanfoe 已经指出 Instruments 是在 MAC 上执行此操作的方法。就个人而言,虽然我已经成功使用两者。您可以使用抑制文件来隐藏 noise,只是要小心隐藏的内容。

将此添加到您的 valgrind 命令以在运行时生成它们。

--gen-suppressions=all

然后将这些添加到填充中并按如下方式使用它...

--suppressions=./mysuppressions.supp

您可以在此处了解更多信息。

https://wiki.wxwidgets.org/Valgrind_Suppression_File_Howto

不要停止使用 valgrind,因为它在 mac 上有一些缺陷。这是一个很棒的工具。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-10
    • 1970-01-01
    • 2016-07-13
    • 1970-01-01
    • 2014-02-27
    • 2016-05-20
    相关资源
    最近更新 更多