2011-04-22 65 views
0

我開發C++中的MAC應用程序,我有以下問題:mac上的C++內存調試器?

words(26222,0xa0b5c540) malloc: *** error for object 0x88dda04: 
incorrect checksum for freed object - object was probably modified after 
being freed. 
*** set a breakpoint in malloc_error_break to debug 

反正我設置malloc_error_break一個斷點,但它並沒有告訴我在哪裏,我修改存儲器。

是否有任何內存調試器給我提供有關我在哪裏搞亂內存的有意義的信息?

回答

5

Valgrind是標準的開源內存調試工具。 :-)

+0

太好了,我現在在使用它。你知道如何讓valgrind加載調試符號來顯示行號等相關信息嗎?我在調試模式下使用xcode構建,但我不確定xcode如何使用調試符號... – Damian 2011-04-22 03:06:33

+1

我找到了它。在活動目標上,我選擇了DEBUG_INFORMATION_FORMAT = dwarf-with-dsym – Damian 2011-04-22 03:10:12