簡體   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