繁体   English   中英

在命令行上对 C 程序使用 OSX Leaks?

[英]Using OSX Leaks for C Programs on the Command Line?

任何人都可以给我任何简单的语法来运行 OSX 的leaks工具来检测已编译 C 程序中的内存泄漏吗? 我在 10.8 上,所以我valgrindvalgrind严重兼容性问题。

我读过的关于 XCode 的泄漏/工具的大部分内容都涉及在 XCode 环境中——这不是我想为我的 C 程序做的事情。

有没有办法可以从命令行在编译的 C 程序上运行泄漏? 如果没有,在等待 valgrind 的更新版本时,我是否可以使用其他可靠的替代方案,或者我是否必须使用 Linux 发行版设置 VM?

通过将以下内容添加到命令行的开头来使用iprofiler工具(手册):

iprofiler -leaks -d $HOME/tmp

(其中$HOME/tmp是您希望写入结果的位置)。

然后,您可以使用Instruments打开生成的.dtps包以检查泄漏(或iprofiler执行的其他 4 个检查中的任何一个)。

如果您使用clang,则同时使用-O3-g进行编译(因为clang不支持-pg )。

这似乎有效(macOS Catlina 10.15.6):

cd /usr/local/lib
ln -s $(xcode-select -p)/usr/lib/libLeaksAtExit.dylib
leaks --atExit -- ./a.out

完成后最好删除符号链接。

参考:

暂无
暂无

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

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