簡體   English   中英

有沒有辦法監視C ++ / MacOS中的堆使用情況?

[英]Is there a way to monitor heap usage in C++/MacOS?

我擔心我的某些代碼會導致內存泄漏,並且我不確定如何檢查它。 MacOS X是否有工具或其他工具?

謝謝

是的-有一個名為MallocDebug的應用程序作為Xcode軟件包的一部分安裝。

您可以在/Developer/Applications/Performance Tools文件夾中找到它。

蘋果在開發人員頁面上很好地描述了如何在OS X上使用MallocDebug。

當然,UNIX提供了一種快速而骯臟的方法來檢測內存泄漏。

啟動您的應用程序,並觀察隨着時間的推移分配給您的進程的系統內存。 如果它在不應該增加的情況下持續增長,則可能發生內存泄漏。 在這一點上,您可以使用Valgrind或使用MallocDebug等。

當然,如果您使用智能指針和/或RAII,那么您的代碼中就不會出現內存泄漏,對嗎? ;)))

Valgrind是內存錯誤,泄漏等的最佳工具。 這里開始。 您不需要在代碼中做任何特別的事情,這將報告內存的分配位置(即使在C中也具有完整的堆棧跟蹤)。 此外,它將檢測對釋放的內存的寫操作,未初始化的內存使用情況等等。

暫無
暫無

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

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