簡體   English   中英

在Mac OS 10.11上運行valgrind會產生錯誤

[英]Running valgrind on mac os 10.11 produces error

當我嘗試在非常簡單的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

@trojanfoe已經指出,Instruments是在MAC上執行此操作的方法。 就我個人而言,盡管我已經成功使用了兩者。 您可以使用抑制文件來隱藏noise只要小心隱藏即可。

將此添加到您的valgrind命令中以在運行時生成它們。

--gen-suppressions=all

然后,將它們添加到填充中並按以下方式使用它...

--suppressions=./mysuppressions.supp

你可以在這里找到更多。

https://wiki.wxwidgets.org/Valgrind_Suppression_File_Howto

不要停止使用valgrind,因為在Mac上有一些疣。 這是一個很棒的工具。

儀器是OSX下使用的探查器,並且包含在Xcode中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM