[英]Best way to find memory leaks in a C program
我正在嘗試完成大學任務,標記標准指定內存管理的5% - 特別是沒有內存泄漏。
據我所知,簡單的C程序中的內存泄漏只是由程序放棄的指針引起的 - 即,malloc / calloc / etc調用從來沒有相應的free
。
我的問題分為三部分:
Valgrind是你的朋友。
Mac OS的答案和一個要避免的例子(保存半小時)。
Mac OS沒有附帶Valgrind或dmalloc。 此外,Valgrind在嘗試將其安裝在Sierra時存在一些兼容性問題。
有一個叫做“泄漏”的實用程序,我通過它運行它:
leaks -atExit --/Contents/Developer/usr/lib/libLeaksAtExit.dylib ./a.out
不幸的是,這並沒有報告明顯的內存泄漏 ...也許我使用它錯了,但我只是在尋找一種簡單的方法來檢查我的C程序是否應該釋放它的內存。
如果你有時間,那么可以 在命令行上閱讀並使用OSX Leaks for C Programs?
資源:
PS:也許如果與“iprofiler”一起使用,那么它可能會有用,但我沒有安裝它。
還有dmalloc
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.