在Mac OS X Mountain Lion和Mavericks上有沒有替代valgrind來檢測C/C++應用程序的內存洩漏?




osx-mountain-lion osx-mavericks (2)

只是你知道,你可能不必等待很長時間才能看到Valgrind在Mac 10.9上工作,即Maverick。 根據這個錯誤報告 ,已經取得了一些成功。

我認為目前(截至2013年11月15日)沒有適用於Mac的Valgrind替代品。 雖然有一些值得關注,即Clang同時具有AddressSanitizer (適用於當前的mac )和MemorySanitizer (不支持mac )。

有建議使用Xcode的儀器,但我發現它根本沒用。

我曾經使用valgrind檢測Mac OS X 10.6(Snow Leopard)和10.7(Lion)上的C / C ++應用程序的內存洩漏,但我發現最近的版本不支持10.8(Mountain Lion)和10.9(Mavericks)當我升級我的操作系統。 還有像valgrind這樣的東西可以安裝在Mac OS X 10.9上嗎?


在2013-11-01, valgrind團隊宣布Valgrind 3.9.0:

我們很高興地宣布推出Valgrind的新版本,版本3.9.0,可從valgrind

3.9.0是一個功能版本,包含許多改進和常見的錯誤修復集合。 此版本增加了對MIPS64 / Linux,Intel AVX2指令和POWER8指令的支持。 已為S390添加了DFP支持。 英特爾和POWER平台增加了對硬件事務內存的初始支持。 對Mac OS X 10.8(Mountain Lion)的支持得到了改進。 Memcheck對矢量化代碼的準確性得到了改進。

改進的Mountain Lion支持意味著它是否適合小牛隊還有待觀察。 它確實提到支持僅適用於64位代碼。

[...時間過去...下載發生...希望被提出......嘗試配置......希望破滅......]

Urgh!

...
checking build system type... x86_64-apple-darwin13.0.0
checking host system type... x86_64-apple-darwin13.0.0
checking for a supported CPU... ok (x86_64)
checking for a 64-bit only build... no
checking for a 32-bit only build... no
checking for a supported OS... ok (darwin13.0.0)
checking for the kernel version... unsupported (13.0.0)
configure: error: Valgrind works on Darwin 10.x and 11.x (Mac OS X 10.6/7)

Mountain Lion以Darwin 12.x為基礎; 小牛隊的基礎是達爾文13.x. 我不確定錯誤消息中的消息,但開箱即用,Valgrind 3.9.0無法在OS X Mavericks上編譯。