簡體   English   中英

在gdb下運行時,能否在Mac OS X進程完成時自動轉儲未釋放的內存?

[英]Can I get an automatic dump of unfree'd memory on Mac OS X process completion when running under gdb?

在Windows上,我早已習慣於調試CRT的_CRT_LEAK_CHECK_DF功能。 程序完成后,一旦所有atexit回調和(在C ++中)全局析構函數都已運行,它將打印出所有仍在分配的mallocnew塊的列表。 這是很粗糙的,輸出實際上並不是非常有用,但是它非常可靠,它使一眼就能發現是否引入了任何泄漏。

Mac OS X是否有等效功能? 我正在尋找可以在每次在調試器下運行程序時運行的任何東西,而無需付出任何努力,快速運行,並將輸出(即,有關仍分配區域的任何可用信息)保留在調試器的gdb窗口中。 我不會為任何聰明的事情而煩惱,因為我可以更深入地研究leaks或儀器,或者一旦這個列表中出現一些東西,您會有什么收獲。

我相信,樂器確實是唯一可用的東西。 如果您希望同時在調試模式下運行以及讓Instruments記錄僵屍,泄漏等,那么我認為您很不走運。

暫無
暫無

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

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